2016-08-08 23 views
1

問題:我想在ArgumentParser()的add.argument中將目錄的路徑寫爲用戶的輸入。路徑作爲argparse自變量的目錄

到目前爲止:我寫了這個

import argparse 

parser = argparse.ArgumentParser() 
parser.add_argument('path', option = os.chdir(input("paste here path to biog.txt file:")), help= 'paste path to biog.txt file') 

任何想法的,會是什麼這個問題的理想解決方案?

+0

'add_argument'不帶'option'參數。這個路徑名是否應該來自命令行?解析後更改路徑可以嗎? – hpaulj

+0

注意* argparse *似乎有嚴重的限制可能是有用的:添加參數的方法不檢查有效路徑。看起來像我的核心功能,但事情仍然非常有用。在此期間,您需要添加自己的邏輯來檢查每條路徑。有些人寫了一個額外的類來實現這一目標:https://gist.github.com/brantfaircloth/1443543 –

+0

另請參閱http://stackoverflow.com/questions/11415570/directory-path-types-with-argparse。 –

回答

2

您可以使用類似:

import argparse, os 

parser = argparse.ArgumentParser() 
parser.add_argument('--path', help= 'paste path to biog.txt file') 
args = parser.parse_args() 


os.chdir(args.path) # to change directory to argument passed for '--path' 

print os.getcwd() 

運行腳本,而傳遞的目錄路徑作爲參數--path。此外,請檢查官方文檔以瞭解​​的正確用法:https://docs.python.org/2/howto/argparse.html