如何在Python中获取argparse文件的目录?

Sté*_*ard 9 python path argparse

我用来argparse从用户那里获取一个文件:

import argparse, os
parser = argparse.ArgumentParser()
parser.add_argument('file', type=file)
args = parser.parse_args()
Run Code Online (Sandbox Code Playgroud)

然后我想知道这个文件的目录,如:

print(os.path.abspath(os.path.dirname(args.inputfile)))
Run Code Online (Sandbox Code Playgroud)

但是,当然,作为args.inputfile一个file对象,这不起作用.怎么做?

lar*_*sks 13

您可以从.name属性中获取文件的名称,然后将其传递给os.path.abspath.例如:

args = parser.parse_args()
path = os.path.abspath(args.file.name)
Run Code Online (Sandbox Code Playgroud)