0

Python が .out ファイルを開いて読み取ることができないと考えるのは正しいですか?

私のアプリケーションは現在、ロギング目的で手動で読み取られる一連の .out ファイルを吐き出しています。これを自動化する Python スクリプトを作成しています。

スクリプトが次のようになったとき

for file in os.listdir(DIR_NAME):
    if (file.endswith('.out')):
        open(file)

スクリプトは、「IOError : No such file or directory: 'Filename.out'」というエラーで失敗します。

私は上記のコードで同様の機能を持っており、正常に動作します.errファイルのみを読み取ります。上記のコードの前に DIR_NAME を出力すると、正しいディレクトリが指されていることも示されます。

4

2 に答える 2

5

os.listdir()フルパスではなく、ファイル名のみを返します。os.path.join()フル パスを作成するために使用します。

for file in os.listdir(DIR_NAME):
    if (file.endswith('.out')):
        open(os.path.join(DIR_NAME, file))
于 2013-01-25T16:27:08.387 に答える
0

もう少し簡単で柔軟に使用できる代替手段として:

import glob,os

for outfile in glob.glob( os.path.join(DIR_NAME, '*.out') ):
    open(outfile)

'*/*.out'Glob はorのようなものも受け入れ'*something*.out'ます。特定の種類のファイルも読みましたが、これが非常に便利であることがわかりました。

于 2013-01-25T16:44:10.473 に答える