2017-04-16 108 views
0

我有一個txt文件夾的文件夾,我想把它作爲變量導入python。理想情況下,我想要一個變量'profession_texts',其中每個txt文件都是列表中的一個元素。這是我的時刻:如何在python中保存一個txt文件的文件夾作爲變量

import os 
profession_folder_path = '../fp/Updated/Profession/' 
profession_files = os.listdir(profession_folder_path) 
profession_texts = [open(profession_folder_path+file_name, encoding='utf-8').read() for file_name in profession_files] 
print(profession_texts[0]) 

然而,運行此腳本時,我得到的錯誤:

PermissionError: [Errno 13] Permission denied: '../fp/Updated/Profession/Athlete' 

所以,我有兩個問題。我如何擺脫這個PermissionError?一旦這個錯誤得到解決,我的代碼是否能夠達到我的目標?

+0

../fp/Updated/Profession/Athlete的權限是什麼?在unix環境中,你應該能夠看到使用'stat ' – JacobIRR

+0

我目前使用的是Jupyter筆記本而不是Unix環境,所以代碼給出了語法錯誤。 – Jberk

回答

0

您不需要將文件名添加到目錄中作爲(profession_folder_path + file_name)。使用os.path.realpath(FILE_NAME),而不是

import os 
profession_folder_path = '../fp/Updated/Profession/' 
profession_files = os.listdir(profession_folder_path) 
profession_texts = [open(os.path.realpath(file_name)).read() for file_name in profession_files] 
print(profession_texts[0]) 

和你需要有閱讀文件的權限,如果你使用的是UNIX上目錄的執行權限的權限。運行以下命令:

chmod -R a+rx '../fp/Updated/Profession/' 
+0

感謝您的回覆。當我這樣做時,我收到以下錯誤:[WinError 3]系統找不到指定的路徑:'../history100s_2017/fp/Updated/Profession/' – Jberk

相關問題