2016-05-20 16 views
2

argparseを使ってコマンドライン引数からファイルパスを読みたいと思います。パスが相対パスか(ファイルが現在のディレクトリにあるか)完全パスが指定されているかどうかをチェックする最適な方法はありますか? (入力をチェックし、パスが存在しない場合はファイル名にカレントディレクトリを追加すること以外。)Pythonのコマンドライン引数からファイルパスを取得する

+2

あなたは([ 'os.path.isabs']を使用することができますhttps://docs.python.org/3/library/os.path.html#os.path.isabs)。 –

+0

これは私のために働く、ありがとう@DisplayName –

答えて

2

表示名がsys.argvとともにos.path.isabsはおそらく最善である、言ったように:

import sys 
import os 

fpath = sys.argv[-1] 

print(os.path.isabs(fpath)) 
print(fpath) 

は出力

>>> 
True 
C:\Users\310176421\Desktop\Python\print.py 
>>> 

いくつかのCMDもの

C:\Users\310176421\Desktop\Python>python print.py C:\Users\310176421\Desktop\tes 
t.txt 
True 
C:\Users\310176421\Desktop\test.txt 

C:\Users\310176421\Desktop\Python>python print.py whatever 
False 
whatever 
関連する問題