0

argparse を使用してコマンド ライン引数を処理するスクリプトがあります。1 つの引数は、stdin またはファイル名です。基本的なコードは次のようになります。

import argparse

p = argparse.ArgumentParser()
p.add_argument('--input', type=argparse.FileType('r'), default='-')
args = p.parse_args()

for line in args.input:
    print line

コードの別のセクションでは、このファイル名の文字列表現が必要です。このファイル名の文字列を取得するにはどうすればよいですか。私はこのようなことを試みていましたが、成功しませんでした:

 str(args.input)
 repr(args.input)
4

1 に答える 1

2

ファイル オブジェクトの.name属性を使用します。

args.input.name

これは、開いているファイル オブジェクトのファイル名、<stdin>またはsys.stdin.

于 2013-06-21T14:39:29.063 に答える