从终端运行python脚本时,新行未写入文件

时间:2019-05-24 20:13:27

标签: python

从IDE运行Python文件(在我的示例中为VSCode)时,程序可以正常运行并将输出格式化为文件而没有任何问题。但是,当我尝试从终端运行脚本时,似乎忽略了输出中的换行符:

f = open(file_to_open + ".txt", "a+", buffering=1)
... other code
... start of loop
... code to retrieve variable values and convert to type string
f.write("{ " + ts + mc + im + ms + " }\n")
... end of loop
ts,mc,im,ms只是在代码的其他位置创建的各种字符串变量。这些变量在循环过程中发生变化,每次迭代都会将其自身附加到文件中。这些新行旨在将迭代分开以提高可读性。

再次,我唯一的困惑是为什么它在VSCode中运行时似乎运行良好,但是在终端中执行脚本时却如此:

python3 file.py

我没有收到预期的输出。程序运行正常,没有错误,区别仅在于我在文本文件中收到的输出。

编辑:修复了将\n特殊字符更改为\r\n的问题。为上下文添加解决方案注释:VSCode将理解Unix风格的换行符(\ n),但对notepad.exe(例如)不了解。感谢用户:Blorgbeard。

0 个答案:

没有答案