2011-02-24 109 views
13

在蟒蛇I'm創建文件做:如何在特定路徑創建文件?

f = open("test.py", "a") 

其中的文件產生的?我如何在特定路徑上創建文件?

f = open("C:\Test.py", "a") 

返回錯誤。

+0

你會得到哪個錯誤? – 2011-02-24 13:00:43

+0

對這個問題的第一次編輯掩蓋了這個問題,我把它放回去了。 – 2011-02-24 13:29:11

回答

13

文件路徑"c:\Test\blah"將具有'\ T'的製表符。您需要使用兩種:

"C:\\Test" 

r"C:\Test" 
+2

你也可以在windows下使用斜槓'/'作爲路徑分隔符:'「C:/ Test」' – 2011-02-24 13:47:36

+0

I嘗試做這些事情,但python返回我:權限被拒絕...謝謝! – igferne 2011-02-24 14:00:22

+0

我瘋了!以管理員身份執行此操作是可行的!謝謝!! – igferne 2011-02-24 14:08:57

1

創建的文件在哪裏?

在應用程序的當前工作目錄中。您可以使用os.getcwd進行檢查,並使用os.chdir進行更改。

由於缺乏權限,在根目錄中打開文件可能會失敗。

2

一旦關閉文件(有或沒有寫入),它將被創建。使用os.path.join()無論Python解釋器的根目錄開始如

filepath = os.path.join("c:\\","test.py") 
+0

抱歉,但我不明白...我可以修改創建的路徑是什麼? – igferne 2011-02-24 14:02:31

0

被創建的文件來創建路徑。

例如,您在/home/user/program開始蟒蛇,然後將該文件「test.py」將設在/home/user/program/test.py

+0

這是正確的... ... - 以及我可以從腳本中獲得文件的路徑以便複製到另一個路徑? – igferne 2011-02-24 14:04:29

+0

正如PiotrLegnica所說,使用'os.cwd'來獲取當前目錄,您可以將其保存爲一個字符串並按照您的需要使用。 'os'模塊有很多很好的文件處理功能。 [OS Module](http://docs.python.org/library/os.html) – TyrantWave 2011-02-24 16:24:18

0

F =開放(「test.py」,「A」)將在任何目錄創建python文件運行於。

我不確定其他錯誤...我不在Windows上工作。

0

的besty的做法是使用「/」和所謂的「原始字符串」 Python中定義文件的路徑。

path = r"C:/Test.py" 

然而,正常的節目可能不具有在C:驅動根目錄寫權限。您可能需要允許程序執行此操作,或者選擇更合理的操作,因爲您可能不需要這樣做。

+1

獲得根目錄(在Windows上是''C:\',在類Unix系統上是'/')如果你使用正斜槓作爲路徑分隔符,那麼你就消除了對原始字符串的需求。 – 2011-02-24 17:07:15

+0

o你不知道,因爲文件名可以在他們的名字中有\。這很愚蠢,沒用,但它是合法的。 – 2011-02-25 13:23:33

9

我推薦使用os模塊來避免跨平臺的麻煩。 (windows,linux,mac

如果目錄不存在,會返回異常。

import os 

filepath = os.path.join('c:/your/full/path', 'filename') 
if not os.path.exists('c:/your/full/path'): 
    os.makedirs('c:/your/full/path') 
f = open(filepath, "a") 

如果這將是一個系統或某個東西的函數,您可以通過添加try/error來進行改進。

相關問題