2017-10-01 42 views
0

我有一个包含此内容的文本文件“one two three four”,并且我想为每行创建一个新单词,如下所示:如何在每个单词后在文本文件中添加换行符

one 
two 
three 
four 

我想出了这个代码:

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

它打印在新的生产线的每个字,所以我的问题我怎么能写在新文件中的这些话有一个字每行?

+0

“每行新单词”和“每行一个单词”之间有什么区别?好像你的代码是这样做的并且是你正在寻找的 – davedwards

+0

我想要做的是创建具有一列的文本文件,并且每行只有一个字形成旧文件 – Tariq

+1

[正确方式在Python中写入文件](https://stackoverflow.com/questions/6159900/correct-way-to-write-line-to-file-in-python) – user8153

回答

1

你已经接近正确的答案,但你需要以不同的方式分割线条。 for line in f已经以newline-by-newline读取文件。因此,只需执行普通拆分即可使用空格字符拆分该行。这通常会将文本文件成功分割成单词。

您可以在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') 
相关问题