3 回答

TA貢獻1906條經驗 獲得超10個贊
寫這么多,但是我沒看出來你執行這個到底報錯還是什么的,如果報錯的消息在那里?
logfile =open('/tmp/mylog.txt', 'a')
print >> logfile, 'Fatal error: invalid input!'
logfile.close()
你的 print >> logfile, 'Fatal error: invalid input!' 是把后面這個文件寫回到logfile 里,'a'的話是追加到文件最后
文件操作的基本語法在下面:
handle=open(file_name,access_mode="r")
file_name 變量包含我們希望打開的文件的字符串名稱,access_mode 中的'r'表示讀取(試圖寫入會報錯),‘w’表示寫入(從開頭寫),'a'表示添加(在文件最后添加),其它可能用到的標實還有‘+’表示讀寫,‘b’表示2進制訪問,如果未提供access_mode,默認為“r”.
如果open()成功,一個文件對象句柄會被返回,否則會報錯
顯示內容:
for eachline in handle:
print eachline,
fobj.close()

TA貢獻1887條經驗 獲得超5個贊
你想做的是什么呢?
如果你想把
'Fatal error: invalid input!'
這句string寫到一個文件里,那么第一句必須用'w'參數先創建一個文件。直接用'a' 不能創建文件,只能打開已經存在的文件然后在后面添加新的內容。
如果程序順利執行,那么你指定的文件夾下面就會出現一個mylog.txt 的文件,里面有你print 進去的內容。
b的作用是和 pickle 這個模塊配套使用的,建議你去看看python手冊中的pickle部分,看完了以后就知道b的作用了。

TA貢獻1846條經驗 獲得超7個贊
/tmp/mylog.txt這種寫法是linux系統文件夾路徑的寫法,在windows系統下應該這樣寫
logfile =open(r'\tmp\mylog.txt', 'a')
由于\在python中有轉義的作用,在字符串前面加個r表示使用原始字符串,不進行轉義。這樣會打開python程序運行目錄下的tmp文件夾中的mylog.txt進行追加。
用普通方式打開文檔會轉換文件中的特殊字符,比如回車換行符,用二進制方式打開則不會轉換
添加回答
舉報