【问题标题】:Unable to get new line in a .txt with python running on Ubuntu server在 Ubuntu 服务器上运行 python 时无法在 .txt 中获取新行
【发布时间】:2018-08-26 03:02:49
【问题描述】:

我有一台运行 ubuntu 14.04 的服务器。我将我的代码文件从本地计算机传输到服务器,但由于这部分代码,我无法正确运行我的程序:

for _ in range(5):
    some = "some"
    stuff = "stuff"
    list_1 = open('text.txt', 'a')
    list_1.write("%s %s \n" %(some, stuff))
    open('text.txt', 'a').close()

当我运行它时,输出是:

some stuffsome stuffsome stuffsome stuffsome stuff 

我不明白为什么,因为如果我在本地计算机上运行它,输出是:

some stuff 
some stuff 
some stuff 
some stuff 
some stuff 

这真的很奇怪,有什么想法吗?

【问题讨论】:

标签: python ubuntu newline carriage-return


【解决方案1】:

您的代码运行良好。这些行以 Linux 中使用的单个 \n(换行符)字符终止。

您可能正在 Windows 程序中查看text.txt 的内容,例如记事本?预期的行尾将是 \r\n(回车,换行),但由于缺少 \r,记事本将其显示为单行。

您可以检查您的 Ubuntu 服务器。登录终端并输入:

$ cat text.txt

在这种情况下,您应该会看到预期的内容。

另外,最后一行 open('text.txt', 'a').close() 完全没有任何作用。

【讨论】:

    猜你喜欢
    • 2020-05-16
    • 1970-01-01
    • 2012-10-15
    • 2017-09-22
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多