phi*_*ndt 9 python string file
如何在文本文件中的每一行的开头插入一个字符串,我有以下代码:
f = open('./ampo.txt', 'r+')
with open('./ampo.txt') as infile:
for line in infile:
f.insert(0, 'EDF ')
f.close
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
"'file'对象没有'insert'属性"
请注意,我是一个完整的编程n00b.
unu*_*tbu 21
Python附带电池:
import fileinput
import sys
for line in fileinput.input(['./ampo.txt'], inplace=True):
sys.stdout.write('EDF {l}'.format(l=line))
Run Code Online (Sandbox Code Playgroud)
与已发布的解决方案不同,这也保留了文件权限.
您无法像这样修改文件.文件不支持插入.你必须全部阅读,然后再写出来.
如果您愿意,可以逐行执行此操作.但在这种情况下,您需要写入临时文件,然后替换原始文件.因此,对于足够小的文件,这样做更简单:
with open('./ampo.txt', 'r') as f:
lines = f.readlines()
lines = ['EDF '+line for line in lines]
with open('./ampo.txt', 'w') as f:
f.writelines(lines)
Run Code Online (Sandbox Code Playgroud)