2013-07-01 50 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

相关问题