本文共 1004 字,大约阅读时间需要 3 分钟。
一,文件替代:此时对文件中的内容不真实替代,跟sed 不加-i,并且在屏幕上会打印出来
1 2 3 4 | import fileinput for line in fileinput.input( 'if.py' ): line = line.replace( "fun" , "newfun" ) print line |
二,加上参数inplace=1则会直接操作文件,并且原文件每行还会插入一行空行,在屏幕并输出。如果inplace=0则跟上面的效果一样,
1 2 3 4 | import fileinput for line in fileinput.input( 'if.py' ,inplace= 1 ): line = line.replace( "fun" , "newfun" ) print line |
三,修改文件之前,先备份一份,备份的文件名为if.py.bak。
1 2 3 4 | import fileinput for line in fileinput.input( 'if.py' ,backup= '.bak' ,inplace= 1 ): line = line.replace( "newfun" , "fun" ) print line |
四,去掉上面的空行,在line后面加逗号。
1 2 3 4 | import fileinput for line in fileinput.input( 'if.py' ,backup= '.bak' ,inplace= 1 ): line = line.replace( "fun" , "newfun" ) print line, |
五,file.seek修改文件第一行与第二行写法效果一样,r+表示可修改模式,f.read将所有内容读进来。seek从4第字符开始,在其后添加new line,\n表示换行,将在剩下的字符换行。
1 2 3 4 5 | #f=open( 'if.py' , 'r+' ) with open( 'if.py' , 'r+' ) as f: old = f.read() f.seek( 4 ) f.write( "new line\n" ) |