Python3.3 type =文件名错误

Kam*_*shi 4 python nameerror

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不允许这样做吗?请帮忙。

Mar*_*ers 6

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)