4
import sys
import argparse
parser = argparse.ArgumentParser(description='blah blah')
parser.add_argument('reference_file', type=file, help='blah blah')
args = parser.parse_args()

当我运行上述脚本时,出现以下错误。

NameError: name 'file' is not defined

我不知道怎么了。这在 Python 3.3 中是不允许的吗?请帮忙。

4

1 回答 1

6

file是 的别名open,已在 Python 3 中删除。

您可以open改用,但argparse有更好的选择:[FileType()工厂类型]:

parser.add_argument('reference_file', type=argparse.FileType('r'), help='blah blah')
于 2013-10-21T15:56:44.687 回答