2012-11-03 61 views
16

剛剛開始學習一些Python,我有作爲規定如下問題:PermissionError:[錯誤13]在Python

a_file = open('E:\Python Win7-64-AMD 3.3\Test', encoding='utf-8') 

Traceback (most recent call last): 
    File "<pyshell#9>", line 1, in <module> 
    a_file = open('E:\Python Win7-64-AMD 3.3\Test', encoding='utf-8') 
PermissionError: [Errno 13] Permission denied: 'E:\\Python Win7-64-AMD 3.3\\Test\ 

似乎是一個文件權限錯誤,如果任何一個可以發光一些光這將不勝感激。

注意:不確定Python和Windows文件如何工作,但我以管理員身份登錄到Windows,並且該文件夾具有管理權限。

我試過更改.exe屬性以Admin身份運行。

+2

是'Test'文件還是文件夾? –

+0

@JoachimIsaksson這絕對是一個文件夾,我們可以在錯誤行結束時看到它。做出答案。 –

+0

測試是一個文件夾,Document im下面的讀取我可以使用以下語法打開文本文檔a_file = open('E:\ Python Win7-64-AMD 3.3 \ Test \ a.txt',encoding ='utf-8 ')使用這個語法以及a_file = open('E:\ Python Win7-64-AMD 3.3 \ Test',encoding ='utf-8')給了我同樣的錯誤。 – BenniMcBeno

回答

19

當做;

a_file = open('E:\Python Win7-64-AMD 3.3\Test', encoding='utf-8') 

...你試圖打開目錄爲一個文件,這可能(和大多數非UNIX文件系統會)失敗。

雖然你的其他例子;

a_file = open('E:\Python Win7-64-AMD 3.3\Test\a.txt', encoding='utf-8') 

應該很好地工作,如果你只是對a.txt權限。您可能需要使用原始(r-前綴)字符串,以確保您的路徑不包含任何轉義字符,如\n,這些轉義字符將被轉換爲特殊字符。

a_file = open(r'E:\Python Win7-64-AMD 3.3\Test\a.txt', encoding='utf-8') 
+0

一個好的羅傑幸運的是我只是總是在Linux上除了現在大聲笑><,所以你是誰建議我這樣做。 btw測試是一個文件夾/目錄 – BenniMcBeno

+1

@bennyboy取決於你想通過打開目錄而不是文件來實現...? –