2012-05-07 9 views
8

私は、ユーザからファイルを取得するためにargparseを使用します。Pythonでargparseファイルのディレクトリを取得するには?

import argparse, os 
parser = argparse.ArgumentParser() 
parser.add_argument('file', type=file) 
args = parser.parse_args() 

は、その後、私はこのファイルがあるディレクトリを知りたいし、何かのように:、

print(os.path.abspath(os.path.dirname(args.inputfile))) 

しかし、もちろんargs.inputfileがあるとしてfileオブジェクトですが、これは機能しません。どうやってするの?

+0

単純に引数を文字列として取得し、その後で開くことができます。 –

+0

@DavidRobinsonこれは簡単な方法ですが、 'argparse'が有用な' type = file'を提供するので、もっとスマートにすることはできません。 –

+1

私は同意する、尋ねる価値がある。 –

答えて

12

.name属性からファイルの名前を取得し、os.path.abspathに渡すことができます。例:

args = parser.parse_args() 
path = os.path.abspath(args.file.name) 
+0

素敵で簡単、ありがとう! –

関連する問題