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