2013-07-01 96 views
0

我想知道如何獲得該腳本存儲與argparse,如果可能的話,因爲如果我從另一個路徑運行腳本(我在%PATH%變量腳本的路徑)的路徑它使用默認相對路徑。是否有可能使用argparse獲取腳本的路徑?

我知道我可以用它獲得:

import sys sys.argv[0]

,但我想知道是否有可能直接從argparse模塊接取它。

感謝 編輯:我有我的答覆,我很滿意。 爲了更好地解釋這個問題:我有一個名爲mdv.py的腳本,用於將降價文件轉換爲html。我想從我的電腦的任何位置撥打電話。 腳本是: C:\ Python27 \降價

在這條道路還有其他的文件和我使用生成我的HTML(默認的樣式表和文件的標題,正文和頁腳)的文件夾模板。

這些文件是: C:\ Python的\ 27 \降價\降價\模板

當我調用腳本從一個非標準路徑,例如C:\保管箱\公共它會在C: \ dropbox \ public \ templates這些文件,而不是保存在c:\ python27 \ markdown \模板中。

Ihope有更好的解釋。對不起,我不是英語母語的人。

+1

'argparse'使用'sys.argv'了。你能詳細說明你的意思嗎? –

回答

2

認爲您正在查找的是prog parameter;您可以使用%(prog)ssys.argv[0]插入到幫助字符串中。

prog的值可以在創建ArgumentParser()實例時進行設置;它是第一個參數:

parser = argparse.ArgumentParser('some_other_name') 

,可與.prog屬性檢索:

print(parser.prog) # prints "some_other_name" 

然而,​​電話os.path.basename()這個名字,確實商店的目錄隨時隨地編程

+0

好吧,我真正需要的是路徑,因此我使用了sys.argv,但是感謝您的支持。 – gialloporpora

相關問題