Python 如何覆盖argparse-h使用信息中的cli名称?

Python 如何覆盖argparse-h使用信息中的cli名称?,python,argparse,appimage,Python,Argparse,Appimage,我正在将我的python应用程序绑定到一个.AppImage文件中。现在,当我使用flag-h运行它时,我希望它能够沿着以下几行打印一些内容: $ ./mytool.AppImage -h usage: mytool [-h] [-d DIR] [-f] [-e] [BLA [BLA ...]] ... 但由于AppImage捆绑过程的性质,我得到: $ ./mytool.AppImage -h usage: AppRun [-h] [-d DIR] [-f] [-e] [BLA [BLA .

我正在将我的python应用程序绑定到一个.AppImage文件中。现在,当我使用flag
-h
运行它时,我希望它能够沿着以下几行打印一些内容:

$ ./mytool.AppImage -h
usage: mytool [-h] [-d DIR] [-f] [-e] [BLA [BLA ...]]
...
但由于AppImage捆绑过程的性质,我得到:

$ ./mytool.AppImage -h
usage: AppRun [-h] [-d DIR] [-f] [-e] [BLA [BLA ...]]
...
也就是说,
AppRun
而不是
mytool

所以我的问题是:


如何强制重写应用程序名称,以便无论如何调用应用程序,它都会在使用字符串中打印相同的名称?

根据hpaulj的评论,这可以通过简单地设置
argparse.ArgumentParser
构造函数的
prog
参数来解决:

parser = argparse.ArgumentParser(
        prog='mytool',
        description='Some description...'
)

根据hpaulj的评论,这可以通过简单地设置
argparse.ArgumentParser
构造函数的
prog
参数来解决:

parser = argparse.ArgumentParser(
        prog='mytool',
        description='Some description...'
)

在创建解析器时尝试
prog
参数。啊,很好。它工作了,谢谢。在创建解析器时尝试
prog
参数。啊,很好。成功了,谢谢。