我目前正在寻找一种在Python中写入TXT文件的每一行的开头和结尾的方法。例如,
当前TXT文件:
Jimmy
Was
Here
将第一个值写入每行的开头
111Jimmy
111Was
111Here
将第二个值写入每行的结尾
111Jimmy222
111Was222
111Here222
似乎无法在Google上找到任何描述如何正确完成此操作的内容。我已经找到了写入特定行的方法,但并不是所有这些都以这种方式写入。任何帮助表示赞赏!谢谢!
答案 0 :(得分:11)
prefix = '111'
suffix = '222'
with open('source.txt', 'r') as src:
with open('dest.txt', 'w') as dest:
for line in src:
dest.write('%s%s%s\n' % (prefix, line.rstrip('\n'), suffix))
答案 1 :(得分:3)
您可以inplace=1
import fileinput
for line in fileinput.input('test.txt', inplace=1):
print '{0}{1}{2}'.format('111', line.rstrip('\n'), '222')
使用fileinput
来更改文件而无需打开多个文件:
{{1}}
答案 2 :(得分:0)
假设您已使用列表中的readlines()读取文件,则可以执行
value1 = "" # appended at first
value2 = "" # appended at last
data = file.readlines()
data = [ ( value1 + str.rstrip('\n') + value2 + "\n" ) for str in data ]
然后将数据写回文件....
答案 3 :(得分:-1)
f1o = open("input.txt", "r")
f2o = open("output.txt", "w")
for line in f1o:
f2o.write("111%s222\n" % line.replace("\n"))
f1o.close()
f2o.close()