我正在做一本书的练习,无法解决这个问题;这不是家庭作业,我正在努力教自己,我一直在尝试任何我能想到的东西来做这项工作!
我需要从文本文件中读取行,然后以相反的顺序将行写入新文件。
我的问题是,我可以将它按顺序排列(我假设它意味着'r'文件的最后一行首先打印在'w'文件中),但它也会打印出反转的单词,它不可读。
有没有办法可以按相反的顺序写行,但这些行仍然可读?
这就是我所拥有的:
filetoread = 'yolo.txt'
file = open(filetoread, 'r')
words = file.read()
wrf = 'yip.txt'
wfile = open(wrf, 'w')
for lines in reversed(list(words)):
print wfile.write(lines)
答案 0 :(得分:3)
您可能需要注意,使用with
语句通常更容易,更安全。这样你就不用担心打开文件而忘记关闭它。另外,如果with
块内发生异常,文件仍会自动关闭;如果没有try...finally
,您必须使用with
语句执行此操作。
以下是使用with
的示例:
with open('yolo.txt', 'r') as readf, open('yip.txt', 'w') as writef:
for line in reversed(readf.readlines()):
writef.write(line)
答案 1 :(得分:0)
你的意思是
wfile.write("".join(reversed(list(open("some_file.txt")))))