2017-04-16 8 views
0

変数としてPythonにインポートしたいtxtフォルダのフォルダがあります。理想的には、各txtファイルがリスト内の要素である変数 'profession_texts'が必要です。これは私が現時点で持っているものです。txtファイルのフォルダをPythonの変数として保存する方法

しかし
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' 

だから、私は2つの問題を抱えています。このPermissionErrorを取り除くにはどうすればよいですか?このエラーが解決したら、自分の目標を達成するために私のコードが機能しますか?

+0

../fp/Updated/Profession/Athleteの権限は何ですか? Unix環境では、 'stat ' – JacobIRR

+0

を使って見ることができるはずです。現在、Unix環境の代わりにJupyterノートブックを使用しているので、コードで構文エラーが発生しています。 – Jberk

答えて

0

ディレクトリにファイル名を追加する必要はありません(profession_folder_path + 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を使用している場合は、ディレクトリのパーミッションを実行する必要がos.path.realpath(FILE_NAME)を使用します。以下のコマンドを実行してください:

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

お返事ありがとうございます。私はこれを行うと、私は次のエラーが表示されます:[WinError 3]システムが指定されたパスを見つけることができません: '../history100s_2017/fp/Updated/Profession/' – Jberk

関連する問題