Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用python插入文本_Python - Fatal编程技术网

用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))