用python插入文本
可能重复:用python插入文本,python,Python,可能重复: 我需要在文本文件的每一行的开头和结尾插入一些文本。如何使用python完成此操作?首先,打开输入和输出文件 infile = open('inputfile', 'r') outfile = open('outputfile', 'w') …然后在线路上循环 for line in infile: …在开头添加您的内容 newline = "stuff for beginning of line" + line …然后将该行写入输出 outfile.write
我需要在文本文件的每一行的开头和结尾插入一些文本。如何使用python完成此操作?首先,打开输入和输出文件
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”。(请注意,它会一次吸收整个文件,因此不要将其用于真正大的文件,否则它会吸收!):
除非您定期执行此特定任务,否则实际上并不需要python脚本。大多数为编程而创建的编辑器(Vim、Emacs、Notepad++等)都支持某种基于regexp的搜索和替换 在使用简单正则表达式的编辑器中,用
“\1”
替换^\(.*\)$
应将所有行用双引号括起来。根据您使用的工具,这也可能以更简单的方式完成;e、 g.在使用Sed或Vim逐行替换中,将*
替换为“&”
执行相同的工作
如果你不熟悉正则表达式,我强烈建议你在谷歌上搜索一个好的教程。如果您使用的是Linux/Unix,请查看Daniel Robbins的文章。关于正则表达式的更一般的介绍,您也可以参考。同一问题不要问两次。这很烦人,我们注意到了。虽然这个问题比另一个问题(3250393)更清楚,但这就是我重写这个问题的原因……这是Python中的一个简单任务。使用初学者指南之一进行学习。查看文件操作。@novak:将来,您可以使用原始问题下方的
编辑按钮,而不是创建一个重复的问题。-1(1)行和行的每个元素几乎总是以'\n'
结尾——为什么要在每行中添加另一个?(2) 与。。。in:
--SyntaxError(in
是一个关键字)(3)newline
是一个很好的名字。。。试试output\u line
Ah,不错。。。我在想,readline()
将“\n”从行中删除,就像在其他语言中一样。我想在这种情况下,称之为“新线”是合适的!
with open('inputfile', 'r') as infile:
lines = infile.readlines()
with open('outputfile', 'w') as outfile:
outfile.write("prefix-" + "prefix-".join(lines))