所以我试图将文件中存在的所有行复制到列表中。从前面的问题我发现了这种将所有行复制到列表中的方法。我面临的问题是并非文件的所有内容都被复制到列表中。
names = tuple(open("MusicNames.txt", 'r'))
names2 = tuple(open("MusicNamesOtherFolder.txt", 'r'))
print names
print names2
这就是我要复制名称的方法,但在特定行之后,列表会停止追加,列表中的最后一项不包含整行。 什么可能导致这样的错误?
好的,我现在要包括我的完整代码。当我注释掉我写入文件的代码部分时,它正常工作。 这是代码: http://pastebin.com/Q7W3VXPi
答案 0 :(得分:3)
完成写入后,应关闭文件对象。否则,您在读取所有更改时可能无法将所有更改刷新到实际文件中。
fp2 = open("MusicNamesOtherFolder.txt", 'w')
#writing to fp2 goes here...
fp2.close()
#now you are ready to open the file again.
names2 = tuple(open("MusicNamesOtherFolder.txt", 'r'))
如果您发现同时编写open
和close
方法很麻烦,可以使用with
语句,这将为您完成结算。
with open("MusicNamesOtherFolder.txt", 'w') as fp2:
#writing to fp2 goes here....
#now you are ready to open the file again.
names2 = tuple(open("MusicNamesOtherFolder.txt", 'r'))
答案 1 :(得分:0)
您可以使用它来获取完整的行列表
names = [line for line in open("MusicNames.txt", 'r')]
names2 = [line for line in open("MusicNamesOtherFolder.txt", 'r')]