2017-03-02 3 views
0

ディレクトリを繰り返していくつかのファイルを読み込みます。 作業ディレクトリが正しく設定されています。私はdirnameとファイル名を表示し、うまくいくはずです。しかし、それはしません。Python: "[Errno 2]ディレクトリにファイルを持つ" [Errno 2] No files "ディレクトリ

私を助けてもらえますか?

for dirName, subdirList, fileList in os.walk(rootDir): 
    for fname in fileList: 
     if fname.endswith(res): 
      print (dirName) 
      print (fname) 
      with open(fname) as file: 
       for line in file: 
        .... 

と出力とエラーは次のとおりです:

私のコードがある

.\86 

output086.csv_cat1.res 

--------------------------------------------------------------------------- 
FileNotFoundError       Traceback (most recent call last) 

<ipython-input-59-9583577f0a41> in <module>() 

    38    print (dirName) 
    39    print (fname) 
    40    with open(fname) as file: 
    41     for line in file: 
    42      x = re.match(regex_x, line) 

FileNotFoundError: [Errno 2] No such file or directory: 'output086.csv_cat1.res' 

問題は、ライン40

+0

あなたがアクセスしようとしているファイルは、 "csv_cat1.res"ではなく "output086.csv_cat1.res"と呼ばれていますか? – Chachmu

答えて

3

fnameであるように思われる絶対パスファイル名だけではなく、開くファイルに移動します。あなたはそれがであるディレクトリの絶対パスでそれに参加する必要があります。

import os with open(os.path.join(dirName, fname)) as fh: ...

また、それはPythonで組み込みですので、変数名としてfileは使用しないでください。

関連する問題