如何在python中保存一个txt文件的文件夹作为变量
问题描述:
我有一个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?一旦这个错误得到解决,我的代码是否能够达到我的目标?
答
您不需要将文件名添加到目录中作为(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
../fp/Updated/Profession/Athlete的权限是什么?在unix环境中,你应该能够看到使用'stat' –
JacobIRR
我目前使用的是Jupyter笔记本而不是Unix环境,所以代码给出了语法错误。 – Jberk