我已经搜索了,但是没有找到解决我问题的答案...
我在AWS Ubuntu的pythob 3.6.5上运行了这段代码:
from datetime import datetime
def log_to_txt(msg, filename='log_files/logcheck' + str(datetime.now().date()) + '.txt'):
with open(filename, 'a+') as f:
f.write(msg)
f.close()
msg = 'hello\nworld'
log_to_txt(msg)
print(msg + '\nwas logged')
当我在控制台中运行代码时,它工作正常,这是输出:
[ec2-user@ip-**** cta]$ python log_check.py
hello
world
was logged
但是当我在记事本中打开文本文件时,只是:
helloworld
我注意到的另一件事是,当我在Windows 10上使用Python 3.6.2运行代码时,一切正常,无论是打印到控制台还是log.txt文件
如果有人可以帮助我,将不胜感激!
谢谢!
答案 0 :(得分:1)
Windows记事本无法理解以until May 2018结尾的Unix LF行。如果您在另一个文本编辑器(例如Wordpad或更高级的十六进制编辑器)中打开文件,您会发现那里确实有换行符(在十六进制编辑器中,您将看到一个0A
字节)。
如果您使用Python打印\r\n
,则可以在记事本中看到换行符。