我确信这不是太难,但我没有看到它。我需要在文本文件的所有行中添加单引号,并在引号后直接添加“,text”。
所以我会
text = xxx (start)
text = 'xxx',text (finish)
如下所示:
`yourstring = ''.join((''''yourstring',''', 'text'))
给出了正确的输出,我只是不确定如何为文本文件中的所有行执行此操作?
任何帮助都会很棒。
答案 0 :(得分:1)
阅读"文件"在读取模式下,创建新的临时文件,在新的临时文件中写入每一行(同时'
和其他text
)并删除旧文件'然后重命名' temp'发送文件'名称(在每行的以下代码中阅读评论):
with open("file") as i: # open file for reading, i = input file
with open("temp", "w") as o: # open temp file in write mode, o = output
for l in i: # read line by line
o.write("'%s',text\n" % l[:-1]) # concate ' and text
# ^ ^ added `'` for each line
os.remove("file") # delete old file. Note:this is not needed in postfix system
os.rename("temp", "file") # rename file
编辑:如果您想在缓冲区中完全读取文件,并使用join( )
添加'sometext'
字符串。然后你可以做如下(我相信不必要的复杂):
with open('file') as f:
file_date = f.read()
updated_file_data = "sometext\n".join(map("'{0}'".format, file_date.split('\n')))
答案 1 :(得分:1)
关于上述答案的几点建议:
当然,您可以将所有新文本与
一起使用o.write("'"+l[:-1]+"' yourtext\n")