import sys
import argparse
parser = argparse.ArgumentParser(description='blah blah')
parser.add_argument('reference_file', type=file, help='blah blah')
args = parser.parse_args()
Run Code Online (Sandbox Code Playgroud)
当我运行上述脚本时,出现以下错误。
NameError: name 'file' is not defined
Run Code Online (Sandbox Code Playgroud)
我不知道怎么了 Python 3.3不允许这样做吗?请帮忙。
file是的别名open,已在Python 3中删除。
您可以open改用,但argparse有一个更好的选择:[ FileType()工厂类型]:
parser.add_argument('reference_file', type=argparse.FileType('r'), help='blah blah')
Run Code Online (Sandbox Code Playgroud)