2017-09-26 109 views
0

我是python和學習語言的新手。下面的代碼應該在正在運行的程序目錄中創建一個文件並寫入它,但它在.py文件中根本不會這樣做。如果我將相同的代碼放在IDLE shell中,它將返回17.沒有錯誤就是不創建文件。我究竟做錯了什麼?Python不會創建/寫入文件

with open("st.txt", "w") as f: 
    f.write("Hi from Python!") 

感謝您的幫助 邁克

+2

嘗試用全限定路徑,而不是'「st.txt」' – ZdaR

+2

...並檢查當前目錄:'import os; print(os.getcwd())' – PRMoureu

+0

使用'w +',所以如果它不存在,也會創建一個filw(帶有開放(「st.txt」,「w +」)作爲f:' –

回答

2

此代碼是完美無瑕的,沒問題!

我想在你的REPL shell中,$ PWD環境變量是爲某處設置的,所以你的目標文件位於某個角落。

拋出異常表示沒有訪問權限問題。

也許你可以設置一些絕對路徑字符串,如~/st.txt

順便說一句,成功調用應返回15,而不是17,完全指望15個字符。

0

你的代碼運行良好,st.txt會在執行路徑時被觸及。

其他方式,您的系統帳戶無法寫入您的執行路徑。

嘗試在執行您的代碼的$ HOME路徑,我認爲,這將很好地工作