将文本文件中的引号附加到每一行

时间:2014-03-01 12:23:06

标签: python append

我确信这不是太难,但我没有看到它。我需要在文本文件的所有行中添加单引号,并在引号后直接添加“,text”。

所以我会

text = xxx (start)
text = 'xxx',text (finish)

如下所示:

`yourstring = ''.join((''''yourstring',''', 'text'))

给出了正确的输出,我只是不确定如何为文本文件中的所有行执行此操作?

任何帮助都会很棒。

2 个答案:

答案 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")