def log():
with open("log.txt", 'a') as f:
print ".log.txt"
f.write(msg.encode('utf-8') +"\n")
我多次调用log(),但不会在新行写每个味精,我不知道为什么。我试着在最后添加f.close(),但是这也不起作用。超级沮丧!python:为什么不写入新文件?
def log():
with open("log.txt", 'a') as f:
print ".log.txt"
f.write(msg.encode('utf-8') +"\n")
我多次调用log(),但不会在新行写每个味精,我不知道为什么。我试着在最后添加f.close(),但是这也不起作用。超级沮丧!python:为什么不写入新文件?
我假设你想将log()
定义为log(msg)
:)。我试过了,它在我的系统(OS X)上工作。 \n
应该可以工作,但它不是100%的跨平台,所以请尝试使用os.linesep
。
# test.py
import os
def log(msg):
with open("log.txt", 'a') as f:
f.write(msg.encode('utf-8') + os.linesep)
log('aaa')
log('bbb')
然后:
$ python test.py
$ cat log.txt
aaa
bbb
你没给出的味精。
def log():
msg="bhansa"
with open("log.txt", 'a') as f:
print ".log.txt"
f.write(msg.encode('utf-8') +"\n")
log()
或在您的方法中传递消息。
它工作的很好。
'msg.encode('utf-8' )+“\ n”'不适用于Python 3;字符串不会连接到字节。 – Aaron3468
如果你想登录自己的应用程序,请使用广泛测试和使用的设施:https://docs.python.org/2/library/logging.html – RvdK