ディレクトリから複数のcsvファイルを読み込み、各ファイルを分析するプログラムを作成しています。それについての奇妙なことは、私はReadDirectory機能を無視してReadInFile機能を使用する場合、それは完璧に動作している"エラー:ファイルまたはディレクトリが存在しません"しかし、os.listdirによって確認されているように存在します。
# Function reads in files and saves data into 2 dimensional array
def ReadInFiles(name):
try:
data = []
fname = csv.reader(open(name, 'r'))
#print 'read in file: ' + str(fname)
rowCount = 0
for row in fname:
if rowCount != 0: # skip headings
data.append(row)
rowCount += 1
#print name + ' ' + str(row) + ' read in successfully \n'
except IOError: "Can't read files"
return data
#Function reads in files in a folder
def ReadDirectory (dirName):
try:
Data = []
for files in os.listdir(dirName):
print '\n FILE: ' + files
Data = ReadInFiles(files)
AnalyzeData(Data, daysElapsed, columns = 4)
except IOError:
print 'Directory does not exist!'
return
(ファイルは問題なく読み込まれる)が、私はReadDirectoryからReadInFunctionを呼び出した後:私は、これらの機能を持っていますIOError:[Errno2]ファイルまたはディレクトリが存在しません:logfile.csv os.listdirを使用してディレクトリ内のファイルを一覧表示すると、完全に機能します。
私はソースコードを含むディレクトリのサブディレクトリとしてcsvファイルを含むフォルダを持っています。私はソースコードディレクトリにもファイルのコピーを置くとスクリプトが完璧に動作することに気がつきましたが、それらのコピーを削除するとエラーが再び出るようになりました。
私は以前の投稿を検索して二重スラッシュを試しましたが、/何も動作しません。私はフォルダのアクセス許可をチェックしたが、どちらも役に立ちません。
ご協力いただければ幸いです!
ありがとうございます。
P.S.私は自分の可能性の悪いコード
サイドノートでは: '試すにラップ/ except'あなたは上げるかもしれない恐れる最小限のコードをブロックすることをお勧めします例外。 –