2017-02-26 12 views
0
、私は次のコードを使用して、私のディレクトリ内のファイル名を印刷しようとしています

[エラー267]は、ディレクトリ名が無効ですWindowsErrorスパイダー2.7

for filename in os.listdir(dir_path): 
WindowsError: [Error 267] The directory name is invalid: 'D:/#/#/#/#.json/*.*' 

私はjson/*.*エラーメッセージで何を意味するのかわからないよ、この質問が曖昧であれば、私は謝罪ので、Pythonのに新しいです。

+0

何を達成したいですか?ディレクトリにあるすべての '.json'ファイルを一覧表示しますか? –

+0

はい、すべての.jsonファイルを含むフォルダにあります。 – Sam

+0

このフォルダはどのように呼ばれますか(フルパス)? –

答えて

0

D:/#/#/#にJSONファイル以外のファイルが含まれているかどうか不明な点が2つあります。うまくいけば、そのうちの一つがあなたに適用されます。

  1. ディレクトリのみJSONファイルその場合

    が含まれている、単にdir_pathの端から/#.jsonを削除します。

    dir_path = 'D:/#/#/#'  
    for filename in os.listdir(dir_path): 
        print filename 
        f = open(os.path.join(dir_path,filename), 'r') 
    
  2. ディレクトリに除外するJSONファイルやその他のファイルが含まれています

    この場合、Python globモジュールを使用することをお勧めします。

    次のフォルダD:/#/#/#.jsonファイルをすべてリストする必要があります:glob.globによって返さではファイル名

    import glob 
    
    dir_path = 'D:/#/#/#/*.json'  
    for filename in glob.glob(dir_path): 
        print filename 
        f = open(filename, 'r') 
    

    を注意ディレクトリパスを含めるので、我々はそれらにos.path.joinを使用しないでください。

os.listdirリストあなたがそれを与えるディレクトリ内のすべてのファイル。しかし、それはディレクトリの名前を渡していないようだ、あなたはそれがファイルの名前を渡している。あなたはそれがディレクトリを与えていない場合、どのようにディレクトリ内のすべてのファイルをリストすることができますか?

関連する問題