문제

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

When I run the above script I get the following error.

NameError: name 'file' is not defined

I don't know what's wrong. Is this not allowed in Python 3.3? Please help.

도움이 되었습니까?

해결책

file was an alias for open, which has been removed in Python 3.

You can use open instead, but argparse has a better option: the [FileType() factory type]:

parser.add_argument('reference_file', type=argparse.FileType('r'), help='blah blah')
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top