编辑和保存文件



我需要编辑我的文件并保存它,以便我可以在另一个程序中使用它。首先,我需要在每个单词之间加上",",并在每行的末尾加上一个单词。

为了在每个单词之间加上",",我使用了这个命令

for line in open('myfile','r+') :
    for word in line.split():
        new = ",".join(map(str,word)) 
        print new 

我不太确定如何覆盖原始文件,或者可能为编辑版本创建一个新的输出文件。我试过这样做

with open('myfile','r+') as f:
    for line in f:
        for word in line.split():
             new = ",".join(map(str,word)) 
             f.write(new)

输出不是我想要的(与打印new不同)。其次,我需要在每一行的末尾加上一个单词。所以,我尝试了这个

source = open('myfile','r')
output = open('out','a')
output.write(source.read().replace("n", "yesn"))

添加新词的代码工作得很好。但我在想应该有一种更简单的方法来打开文件,一次编辑两次并保存它。但我不太确定怎么做。我花了大量的时间来弄清楚如何覆盖这个文件,现在是时候寻求帮助了

给你:

source = open('myfile', 'r')
output = open('out','w')
output.write('yesn'.join(','.join(line.split()) for line in source.read().split('n')))

一行程序:

open('out', 'w').write('yesn'.join(','.join(line.split() for line in open('myfile', 'r').read().split('n')))

或者更清晰的:

source = open('myfile', 'r')
processed_lines = []
for line in source:
    line = ','.join(line.split()).replace('n', 'yesn')
    processed_lines.append(line)
output = open('out', 'w')
output.write(''.join(processed_lines))

编辑很明显我读错了,哈哈。

#It looks like you are writing the word yes to all of the lines, then spliting
#each word into letters and listing those word's letters on their own line? 
source = open('myfile','r')
output = open('out','w')
for line in source:
    for word in line.split():
        new = ",".join(word)
        print >>output, new
    print >>output, 'y,e,s'

这个文件有多大?也许你可以创建一个临时列表,其中只包含你想要编辑的文件中的所有内容。每个元素可以代表一条线。编辑字符串列表非常简单。修改完成后,你可以用

打开你的文件
writable = open('configuration', 'w')

,然后将更改的行放入

文件中
file.write(writable, currentLine + 'n')

。希望这能帮到你,哪怕一点点。div;)

对于第一个问题,您可以在覆盖f之前读取f中的所有行,假设f以'r+'模式打开。将所有结果附加到字符串中,然后执行:

f.seek(0)    # reset file pointer back to start of file
f.write(new) # new should contain all concatenated lines
f.truncate() # get rid of any extra stuff from the old file
f.close()
对于第二个问题,解决方案是类似的:读取整个文件,进行编辑,调用f.seek(0),写入内容,f.truncate()和f.close()。

相关内容

  • 没有找到相关文章

最新更新