使用python修改文本文档

时间:2011-07-12 22:14:33

标签: python file text append

假设我有一个包含1,000个名字的.txt文档。 该文件如下所示:

乔恩 简 乔 插口 杰里米

等等。

现在,让我们说,我想追加“跛脚”。每个名字。 所以,我希望列表看起来像这样:

乔恩很蹩脚。 简是瘸子。 乔很蹩脚。 杰克很蹩脚。 杰里米很蹩脚。

等等。

如何从命令行使用python执行此操作?

5 个答案:

答案 0 :(得分:3)

请参阅http://docs.python.org/tutorial/inputoutput.html#reading-and-writing-files

简而言之:

f = open('my_names_file.txt')
data = f.read()
f.close()
output = ""
for name in data.split(' '):       # This assumes each name is separated 
    output += name + " is lame. "  # by a space and no name contains a space
print output

将输出写回文件同样容易。它在文档中得到了很好的解释。

答案 1 :(得分:1)

print ' '.join(i + ' is lame.' for i in open(fname).read().split())

答案 2 :(得分:0)

这不是特定于python的,但你明白了......

In a loop parsing each token (name):
1.  Get the name into a string
2.  Append "is lame" or whatever else to the string
3.  Append that string onto a buffer

循环结束后,用新缓冲区替换文档。

答案 3 :(得分:0)

>>> s="Jon Jane Joe Jack Jeremy "
>>> s.replace(" ", " is lame. ")
'Jon is lame. Jane is lame. Joe is lame. Jack is lame. Jeremy is lame. '

答案 4 :(得分:0)

请在下面找到一个非常基本的样本:

outputLines = []
with open('c:\\file.txt', 'r') as f:
    for line in f:
        if line.strip():
            outputLines.append(' is lame. '.join(line.strip().split()))
with open('c:\\file.txt', 'w') as f:
    for line in outputLines:
        f.write(line+'\n')