1

特別なテキストファイルからいくつかの情報を抽出するために作成したPythonプログラムに小さな問題があります。データセットを構築できるように、ループ(以下のコード)はextract_zcoords()500ファイル(1ファイルで1つのリスト)を超えて関数を実行する必要があります。

import os

def extract_zcoord(filename): 
    f = open(filename, 'r')         
    ... # do something with f


### LOOP OVER DIRECTORY 
location = '/Users/spyros/Desktop/3NY8MODELSHUMAN/HomologyModels' 

for filename in os.listdir(location):
    extract_zcoord(filename) 

エラー:IOExceptionNo such file or directoryが発生するため、何らかの理由でpythonがファイルにアクセスしていません。ディレクトリパス名(場所)とファイルのアクセス許可を確認しましたが、正しい(読み取り+書き込み)です。ファイルが存在し、パス名が正しい場合にIOErrorが報告される理由はありますか?

何が間違っているのでしょうか?

4

2 に答える 2

5

おそらく、電話をかけるときはos.path.joinを使用する必要があります

zdata.extend(extract_zcoord(filename))

このような:

zdata.extend(extract_zcoord(os.path.join(location, filename)))
于 2012-05-29T15:52:50.557 に答える
2

dirnameとfilenameを1つの完全なパスに結合する必要があります。

location = '/Users/spyros/Desktop/3NY8MODELSHUMAN/HomologyModels' 
for filename in os.listdir(location):
    filename = os.path.join(location, filename)
于 2012-05-29T15:53:32.053 に答える