2013-03-15 157 views
0

代碼:蟒蛇:打開文件的情況下

f = open('workfile', 'r') Line #1 
if f != None :    Line #2 
    print f.read()   Line #3 

工作文件是不存在的目錄,所以可以理解的蟒蛇創建一個(雖然蟒蛇文檔中他們沒有提到它)。 OK

,但是當我從相同的代碼

f = open('names', 'r') Line #1 

更改文件名「工作文件爲」名」這表明IO錯誤:沒有這樣的文件或目錄。

爲什麼它沒有創建'names'的另一個文件?正如在「工作文件」的情況下所做的那樣

+5

不,打開文件進行閱讀不會*如果它不存在就創建它。它會拋出異常。如果沒有,你的'workfile'已經存在。 – 2013-03-15 10:55:16

+0

在第一行中打開'workfile',而不是'workfile.txt'!確保顯示文件擴展名(在Windows的情況下)... – Don 2013-03-15 10:57:47

+0

第2行不是必需的。你只是給'f'分配了一個文件句柄,所以'f'當然不會是None。 – user9876 2013-03-15 11:11:37

回答

2

您正試圖使用​​r參數打開文件進行讀取。

Python的嘗試和創建你需要指定像寫命令w文件:

f = open('names', 'w') 

,或者如果您要附加到您使用a命令已創建的文件:

f = open('names', 'a') 

或讀取和寫入(將創建一個文件):

f = open('names', 'r+') 

如果您有疑問,python documentation也可以很好地閱讀。

相關問題