我需要在文本文件的每行的beginnnig和end处插入一些文本。我怎么能用python来做这个呢?
答案 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获取有关正则表达式的更一般性介绍。