首页 > 代码库 > python改动文件内容,不须要read,write多个动作。

python改动文件内容,不须要read,write多个动作。

python  要改动文件内容,经常使用 是先read。后write , 再 rename。非常不爽。

比方:须要 把       yuv_dir ="../HD/"   # "H:/HD_Master/1080i25/"

                改为       yuv_dir ="C:/HD/"   # "H:/HD_Master/1080i25/"



非常easy,但实际不好操作,由于read后文件指针就到后一行了。要使用seek到前一行等,非常不好。



非常多应用多须要处理文件,而处理文件有一个固定的模式:打开文件,读入一些数据。处理这些数据,打印到屏幕上或写入还有一个文件。

那么,假设我们想改动之后马上写回文件,该怎么做呢?用什么模式打开?又怎么读写?

我个人尝试了非常多中方法。不是无法实现,就是操作非常麻烦。终于放弃。

幸运的是,Python内置模块fileinput就能够轻松完毕。代码例如以下:


for line  in fileinput.input("case_1_gaoqing.py",inplace=1):
    line = line.replace("..","C:")    
    print line,

这样就实现了须要的目的,非常easy吧。


关于很多其它fileinput的资料,在这里http://docs.python.org/library/fileinput.html


python改动文件内容,不须要read,write多个动作。