2017-06-11 67 views
0

無法讓我的代碼創建文件。最初我希望能夠創建一個名稱爲「股票調整」,然後是當前日期和時間的文件,但是我不能在我的生活中發現我的代碼出了什麼問題。然後我將它改爲名爲「Test.txt」的簡單文本文件,但仍然無法正常工作。Python 3.6.1 - 未在寫入模式下創建文件

不工作的一段代碼如下:

def reOrder(): 
with open("Test2.txt","a+") as stockFile: 
    stockFile.write("Hi.") 
    stockFile.close() 
    print("done") 

爲澄清起見,值得注意的是,早在節目我確實在讀模式打開一個已存在的文件,但是這是在測試過程中我沒有調用過的函數,我確保在完成後關閉文件。另外值得注意的是,我試圖改變一個+ W和W +但無濟於事。

+0

你得到任何錯誤?它在我的最後。 –

+0

對我來說也適用。除了縮進錯誤。我假設你的塊應該在函數內部。 –

回答

0

你不寫

with open("Test2.txt","a+") as stockFile: 

,而不是你寫的:

stockFile = open ("Test2.txt","a+") 

,你需要導入操作系統。

試試這個:

import os 
def reOrder(): 
    stockFile = os.open("Test2,txt","a+") 
    stockFile.write("Hi") 
    stockFile.close() 
    print("done") 
+0

[使用'with'語句打開文件](https://stackoverflow.com/questions/3012488/what-is-the-python-with-statement-designed-for)是一個好主意。在你的代碼中,沒有錯誤處理。另請參閱[Open函數說明](https://pythontips.com/2014/01/15/the-open-function-explained/)。另外[os.open](https://docs.python.org/3/library/os.html#os.open)適用於低級I/O。內置函數'open(...)'在這裏是合適的。 –