Вопрос

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