Frage

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.

War es hilfreich?

Lösung

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')
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top