0

我有一个使用 argparse 处理命令行参数的脚本。一个参数可以是标准输入或文件名。基本代码如下所示:

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 回答