用python插入文本

时间:2010-07-14 21:16:51

标签: python

  

可能重复:
  How do I modify program files in Python?

我需要在文本文件的每行的beginnnig和end处插入一些文本。我怎么能用python来做这个呢?

2 个答案:

答案 0 :(得分:0)

首先,打开输入和输出文件......

infile = open('inputfile', 'r')
outfile = open('outputfile', 'w')

...然后通过线路循环......

for line in infile:

...在开头添加您的内容......

    newline = "stuff for beginning of line" + line

...然后将该行写入输出...

    outfile.write(newline)

...最后,别忘了关闭文件!

infile.close()
outfile.close()

或者,这是一个更“Pythonic”的短版本。 (请注意,它会立即吸入整个文件,所以不要将它用于非常大的文件,否则会很糟糕!):

with open('inputfile', 'r') as infile:
    lines = infile.readlines()
with open('outputfile', 'w') as outfile:
    outfile.write("prefix-" + "prefix-".join(lines))

答案 1 :(得分:0)

除非您定期执行此特定任务,否则您实际上并不需要python脚本。大多数编程时都考虑到编程(Vim,Emacs,Notepad ++等)支持某种基于正则表达式的搜索和替换。

^\(.*\)$替换"\1"应该在使用简单正则表达式的编辑器中将所有行包装在双引号中。根据您使用的工具,这也可以通过更简单的方式完成;例如在使用Sed或Vim进行逐行替换时,将.*替换为"&"可以完成同样的工作。

如果您不熟悉正则表达式,我强烈建议使用Google搜索一个好的教程。如果您使用的是Linux / Unix,请查看Daniel Robbins的three-part introduction to Sed。您还可以参考this page获取有关正则表达式的更一般性介绍。