我有一个文本文件,其内容为“一二三四”,我想创建一个新文本文件,每行包含一个单词,如下所示:
one
two
three
four
我想出了这段代码:
with open('words.txt','r') as f:
for line in f:
for word in line.split('\n'):
print word
它会在新行中打印每个单词,所以我的问题是如何在新文件中将这些单词写成每行一个单词?
答案 0 :(得分:1)
您接近正确的答案,但您需要以不同的方式分割线。 for line in f
已经通过换行符读取文件换行符。因此,只需进行正常拆分即可使用空格字符来分隔线条。这通常会成功地将文本文件拆分为单词。
您可以在with
语句中处理多个文件,这对于像您这样的脚本非常方便。写入文件很像print
,但有一些小差别。 write
很简单,但不会自动换行。还有其他几种方法可以将数据写入文件并通过它进行搜索,我强烈建议您通过阅读the docs来了解更多相关信息。
以下是您应用更改的代码。一定要看看并理解为什么需要进行更改:
with open('words.txt','r') as f, open('words2.txt', 'w') as f2:
for line in f:
for word in line.split():
f2.write(word + '\n')