代码之家  ›  专栏  ›  技术社区  ›  fobu36

无法在中获取新行。在Ubuntu服务器上运行python的txt

  •  0
  • fobu36  · 技术社区  · 6 年前

    我有一台运行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 
    

    真奇怪,有什么想法吗?

    1 回复  |  直到 6 年前
        1
  •  2
  •   mhawke    6 年前

    您的代码运行良好。这些线由一个 \n (换行符)Linux中使用的字符。

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

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

    $ cat text.txt
    

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

    还有,最后一行 open('text.txt', 'a').close() 什么都不做。