2017-04-16 109 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

相关问题