質問

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