使用python 更改文件内容
来源:互联网 发布:低碳饮食 知乎 编辑:程序博客网 时间:2024/06/06 20:46
由于在一个把ads下的arm 工程项目移植到gnu项目时候需要做大量重复的修改,比如把
- ABC EQU 1
- #define ABC 1
如果用手工一个个修改很浪费时间,所以就用python脚本来做这些工作,发现很容易就搞定了(以前遇到类似问题总是用c代码来写,代码量很多而且容易出错!!)
源代码如下:
- def func():
- ffrom=open("2440init.s","r")
- fto=open("2440init1.s","w")
- while True:
- l = ffrom.readline()
- if not l:
- break
- if 'EQU' in l:
- temp = l.split("EQU")
- temp1 = '#define ' + temp[0] + temp[1]
- #print temp1
- fto.write(temp1)
- else:
- temp1 = l
- fto.write(temp1)
- if __name__ == "__main__":
- func()
用一个文件 2440init.s 来测试下:
- abc EQU 1
- pds EQU 9
最终生成的文件2440init1.s 内容如下所示:
- #define abc 1
- #define pds 9
前面既然说了是替换文件的内容 ffrom 跟 fto 打开的应该是同一个文件,但是发现 写文件输出流打开后,会自动清空文件(append模式除外) 貌似和java表现一样的。
可以用如下代码完成
- def func():
- input = open("2440init.s")
- lines = input.readlines()
- input.close()
- output = open("2440init.s",'w');
- for line in lines:
- #print line
- if not line:
- break
- if 'EQU' in line:
- temp = line.split("EQU")
- temp1 = '#define ' + temp[0] + temp[1]
- output.write(temp1)
- else:
- output.write(line)
- output.close()
- if __name__ == "__main__":
- func()
如果一个比较大的工程文件,需要遍历工程中的每一个文件。如果文件中包含指定的字符串比如说 #include "appdef.h" 则将之替换为 #include "datatype.h" :
- import os
- def direc():
- for d,fd,fl in os.walk('/home/shichao/gun-ucos'):
- for f in fl:
- sufix = os.path.splitext(f)[1][1:]
- if ( (sufix == 'h') or (sufix == 'c') ):
- #print sufix
- func(d + '/' + f)
- def func(filename):
- input = open(filename)
- lines = input.readlines()
- input.close()
- output = open(filename,'w')
- for line in lines:
- if not line:
- break
- if (('appdef.h' in line) and ('include' in line) ):
- temp = line.split("appdef")
- temp1 = temp[0] + 'datatype' + temp[1]
- output.write(temp1)
- else:
- output.write(line)
- output.close()
- if __name__ == "__main__":
- direc()
0 0
- 使用python 更改文件内容
- 复制更改文件内容
- 更改文件中的内容
- 使用python 修改文件内容
- android使用ant自动打包(包括更改文件中的内容)
- 使用Aspose.PDF更改PDF文件的内容
- android使用ant自动打包(包括更改文件中的内容)
- Ubuntu 批量更改文件内容
- Python使用subprocess更新文件内容
- JAVA 读取文件并更改文件内容
- python 使用-读取文件、替换文件中指定的内容
- Python 替换文件内容
- python修改文件内容
- python 文件内容替换
- Python查找文件内容
- python:文件内容筛选
- Python修改文件内容
- 【python】文件内容拆分
- Mysql的安全相关启动选项
- 注册(十一)重注册带有鉴权信息
- 使用sql语句创建和删除约束
- 白盒测试和黑盒测试
- 随时更新———个人喜欢的关于模式识别、机器学习、推荐系统、图像特征、数值计算、目标跟踪等方面个人主页及博客
- 使用python 更改文件内容
- xp系统优化
- linux perl mail 发邮件
- [转载]怎样写一个解释器
- hadoop运维问题汇总,持续更新
- 解决Maven项目,无法显示src/main/java资源文件夹
- 敏捷开发‘核心原则’ 及 ‘考虑的问题’
- 基于Fedora14 的hello module驱动开发
- webstrom快捷键[持续更新]