2014-04-01 120 views
2

我是一個初學者,正在編寫一個python腳本,我需要它來創建一個可以寫入信息的文件。但是,我在創建新的,以前不存在的文件時遇到問題。在Python中創建一個新文件

例如,我有:

file = open(coordinates.kml, 'w') 

它繼續告訴我:

nameerror: name 'coordinates' is not defined. 

當然它是沒有定義,我試圖讓該文件。 我在創建一個新文件時讀到的所有內容都表示採取這條路線,但它根本不允許我。我究竟做錯了什麼?

我甚至想全力以赴把它定義...

file = coordinates.kml 
file_open = open(file, 'w') 

...,基本上得到了相同的結果。

回答

6

您需要將coordinates.kml作爲字符串傳遞,因此請將它們放在引號中(單個或雙精細)。

file = open("coordinates.kml", "w") 
+0

它將在調用腳本的目錄中創建文件,而不是腳本文件的物理位置。除非通過絕對路徑。在後一種情況下,它將在該特定位置創建文件 –

0

除了上面的回答, 如果你想在同一路徑下創建一個文件,那就沒問題,否則你需要指定的路徑,以及在引號。 但是,當您嘗試訪問不存在的文件時,肯定打開具有讀取權限的文件會引發錯誤。

0

要成爲未來的證明,並且獨立於平臺,您可以在二進制文件中讀寫文件。例如,如果這是Windows上的Python,則可能會在行結束時進行一些更改。因此,閱讀和二進制寫模式應該幫助,使用開關「RB」和「WB」

file = open("coordinates.kml", "wb") 

而且還記得關閉文件會話,否則再同時運行該腳本可以引發錯誤。