相當尷尬的問題,雖然我來自web開發,很少有處理文件I/O。在Python中編寫空字符串到文本文件
我寫了一個簡單的配置更新,用於我的共享主機。它掃描子目錄的目錄,然後將配置行寫入文件 - 每個子目錄一行。問題是,當它檢測到有配置行但沒有子目錄時,它應該保持配置爲空 - 這是行不通的!來這裏,因爲文檔沒有提及它,谷歌也沒有幫助。它在Debian Lenny上的Python 2.6.6。
file = open('path', 'r+')
config = file.read()
## all the code inbetween works fine
## config is .split()-ed, hence the list
if config == ['']:
config = ''
file.write(config)
file.close()
在這種情況下,文件根本沒有改變。有趣的是,使它忘記配置,只是做file.write('')不會清空該文件,但將\ n放在該行的表面上隨機位置。
我已經更新腳本和使用ARS的答案,但你是在提出正確的情況下。謝謝! – Red 2010-10-13 08:47:20