2013-06-22 69 views
0

如果你只是打算用python腳本,如下所示寫入文件:缺少文件()函數

#!/usr/bin/python 
count = 1 
fo = open('DbCount.txt', 'w') 
fo.write(str(count)) 
#fo.flush() 
fo.close() 

的Dbcount.txt文件,該文件被放置與腳本位於同一文件夾中(嘗試修改Dbcount.txt)。我沒有看到任何txt文件中的變化,解釋器顯示沒有錯誤,它很奇怪,有什麼幫助?

+1

你能提供更多詳情嗎?這對我有用。記住'w'模式會截斷那裏的文件,所以如果你使用相同的count值來運行它,文件看起來總是一樣的。 – tacaswell

+2

您正在使用*相對*路徑。什麼'進口操作系統;打印os.getcwd()'告訴你是當前目錄。 –

回答

1

首先,始終與聲明的變體使用,這將永遠關閉文件,甚至錯誤:

#!/usr/bin/python 
count = 1 
with open('DbCount.txt', 'w') as fo: 
    fo.write(str(count)) 

那麼'w'每次寫它的時候會覆蓋您的文件。如果你想追加,使用'a'

關於您的具體問題,您只看過腳本的目錄,還是隻看當前目錄中的腳本?在編寫代碼時,您寫入的文件路徑與執行代碼的位置相關。

嘗試:

import os 
count = 1 
with open(os.path.join(os.path.dirname(__file__), 'DbCount.txt'), 'w') as fo: 
    fo.write(str(count)) 

那麼它應該作爲你的腳本相同的路徑輸出DbCount.txt