2016-06-10 165 views
0

所以我寫了一個非常基本的腳本,作爲我的系統的一個更大的測試的一部分。本質上,它只是創建一個新文件text.txt並寫入文件「abject failure」。從OS X終端運行時,Python腳本不會寫入文本文件

#!/usr/bin/env python 
print "running" 
text_file = open("text.txt", "a") 
text_file.write("abject failure")  
text_file.close() 

print "success" 

腳本奇妙的作品,當我從怠速運轉,但是當我從Mac OS X終端與

python /Users/.../serverside.py 

運行我只得到了「打印」值,但沒有數據被寫入到text.txt文件。爲什麼會這樣,我該如何解決它?

+3

複製代碼,按照'python filename.py'運行它,並且text.txt文件包含預期的文本。當您用絕對路徑調用腳本時,這意味着您可能位於文件系統的任何位置。該文件給出了一個相對路徑(只有它的名字),因此它將被寫入當前的工作目錄,在那裏你可以在調用之前「cd」。例如。 'CD; python/somewhere/far/apart/script.py'會將text.txt文件寫入你的home文件夾'$ {HOME}',因爲這是你輸入'cd'時輸入的地方並輸入 – Dilettant

+0

適合我,你檢查你已經運行代碼的目錄? – user3636636

回答

0

爲了確保您的腳本始終工作,無論在哪裏你的電話是從哪裏來的,還設置一個絕對路徑文件

text_file = open("/Users/path/to/file/text.txt", "a") 

另一種解決方案,如評論所說,是改變你的工作目錄到你想要文件的路徑

cd /Users/path/to/file 
python /Users/.../serverside.py 
相關問題