Python 如何在文本文件中每个单词后添加换行符

Python 如何在文本文件中每个单词后添加换行符,python,text,Python,Text,我有一个内容为“一二三四”的文本文件,我想创建一个每行一个单词的新文本文件,如下所示: one two three four 我想出了这个密码: with open('words.txt','r') as f: for line in f: for word in line.split('\n'): print word 它以新行打印每个单词,所以我的问题是如何在新文件中写入这些单词,每行有一个单词?您接近正确答案,但需要以不同方式拆分行对于f中的行

我有一个内容为“一二三四”的文本文件,我想创建一个每行一个单词的新文本文件,如下所示:

one
two
three
four 
我想出了这个密码:

with open('words.txt','r') as f:
    for line in f:
        for word in line.split('\n'):
        print word

它以新行打印每个单词,所以我的问题是如何在新文件中写入这些单词,每行有一个单词?

您接近正确答案,但需要以不同方式拆分行<代码>对于f中的行已逐换行读取文件换行符。所以,只需进行一次普通拆分,就可以使用空格字符来断行。这通常会成功地将文本文件拆分为单词

您可以使用语句在一个
中处理多个文件,这对于像您这样的脚本来说非常方便。写入文件非常类似于打印
,只是有一些细微的差别
write
很简单,但不会自动换行。还有两种其他方法可以将数据写入文件并在其中查找,我强烈建议您通过阅读了解更多

下面是应用了更改的代码。一定要看一看并理解为什么需要更改:

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')

“每行一个字”和“每行一个字”有什么区别?看起来你的代码就是这么做的,这就是你在寻找的我正在尝试做的,就是创建一个有一列的文本文件,每一行只有一个单词组成旧文件可能的副本