如何在Python中的文件中写入新行

ant*_*man 6 python optimization split newline file

我有一个这样的文件:

word, number
word, number
[...]
Run Code Online (Sandbox Code Playgroud)

我只想保留/保留这些单词,再次换行中的一个单词

word
word
[...]
Run Code Online (Sandbox Code Playgroud)

到目前为止我的代码

f = open("new_file.txt", "w")
with open("initial_file.txt" , "r+") as l:
for line in l:
    word = line.split(", ")[0]
    f.write(word)
    print word # debugging purposes
Run Code Online (Sandbox Code Playgroud)

给我新文件中一行中的所有单词

wordwordwordword[...]
Run Code Online (Sandbox Code Playgroud)

哪种是Pythonic且最优化的方法来做到这一点?我尝试使用f.write("\n".join(word))但我得到的是

wordw
ordw
[...]
Run Code Online (Sandbox Code Playgroud)

For*_*Bru 11

您只需使用即可f.write(str(word)+"\n")执行此操作。这里str用来确保我们可以添加“\n”。

如果您使用的是 Windows,最好改用它"\r\n"

  • 我不知道 2015 年是否有 `os.linesep` ,但我想为了保持代码干净、面向未来和平台独立,您应该使用它而不是 `\n` 或 `\r\n ` (2认同)