【问题标题】:Creating a .TXT file with new lines within the file在文件中创建带有新行的 .TXT 文件
【发布时间】:2015-03-12 22:59:56
【问题描述】:

我在写入 txt 文件中的文件时遇到问题,它没有将第二条消息放到下一行。 (当它打印到屏幕上时,它会按照我的预期工作,但不是在文件本身中)

注意:我的python版本是2.7.3

import os.path

home = os.path.expanduser("~")
check1 = os.path.exists(home + '/test.txt')

if check1 == False:
f = open(home + '/test.txt', 'a')
f.write("First line\n")
f.write("Second line")
f.close()

elif check1 == True:   
with open(home + '/test.txt') as f:
for line in f:
print line
f.close()

这是我的代码的基础。

谢谢你, 斯图尔特

【问题讨论】:

  • 你是如何查看文件的?
  • @jpmc26:是的,我打开了文件,这正是我问这个问题的原因
  • 我问过您如何查看该文件。你用的是什么软件?我猜是记事本,如果我是对的,那可以解释很多事情。
  • 您的缩进似乎有一些错误,如果缩进是正确的,很有可能更多的人会查看您提供的测试代码。
  • @jpmc26:这是一个txt,所以我在记事本中查看了它

标签: python file newline


【解决方案1】:

您使用了 Unix 样式的行尾,然后使用 Windows 特定的文本查看器来查看它。记事本无法将\n 识别为换行符;它需要 Windows 样式的行尾:\r\n

阅读有关行尾以及不同操作系统如何具有不同默认值的信息。提高您对此问题的认识和了解。然后这样做:

  1. import os 放在顶部。
  2. f.write("First line" + os.linesep)

【讨论】:

  • @Stuart 不客气,但一定要去读一读。这不是你最后一次需要考虑这个问题。此外,在 StackOverflow 上接受可以帮助您解决问题的答案也是一种很好的礼仪。请考虑这样做。
  • @Stuart:如果您在universal-newline 模式下open() 文件,通过将'U 附加到该模式(即'aU''rU'),Python 将为您和将根据需要转换您拥有的 `\n'。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-10
  • 2022-01-12
  • 1970-01-01
  • 2017-07-19
  • 2021-09-29
相关资源
最近更新 更多