如何在没有 .py 扩展名的情况下运行 argparse python 程序?

Posted

技术标签:

【中文标题】如何在没有 .py 扩展名的情况下运行 argparse python 程序?【英文标题】:How can I run an argparse python program without the .py extension? 【发布时间】:2021-08-25 00:46:02 【问题描述】:

目前,我必须输入 /xkcdpwgen.py -h 才能获得以下信息

用法:xkcdpwgen [-h] [-w WORDS] [-c CAPS] [-n NUMBERS] [-s SYMBOLS]

使用 XKCD 方法生成安全、易记的密码

可选参数:-h、--help 显示此帮助信息和 退出 -w 单词,--words 单词 在密码中包含 WORDS 单词(默认 = 4) -c CAPS, --caps CAPS 首字母大写 大写随机词 (默认=0) -n NUMBERS, --numbers NUMBERS 在密码中插入 NUMBERS 个随机数 (默认=0)-s 符号,--symbols 符号 在密码中插入 SYMBOLS 随机符号 (默认=0)

但是,我希望能够输入 /xkcdpwgen -h 并获得以下信息

用法:xkcdpwgen.py [-h] [-w WORDS] [-c CAPS] [-n NUMBERS] [-s 符号]

使用 XKCD 方法生成安全、易记的密码

可选参数:-h、--help 显示此帮助信息和 退出 -w 单词,--words 单词 在密码中包含 WORDS 单词(默认 = 4) -c CAPS, --caps CAPS 首字母大写 大写随机词 (默认=0) -n NUMBERS, --numbers NUMBERS 在密码中插入 NUMBERS 个随机数 (默认=0)-s 符号,--symbols 符号 在密码中插入 SYMBOLS 随机符号 (默认=0)

相反,我得到以下内容

bash: ./xkcdpwgen: 没有这样的文件或目录

【问题讨论】:

重命名。没有令人信服的理由让它有一个扩展。 在看到下面的答案之前我才知道这是可能的 您不知道可以重命名文件,或者不知道脚本不需要具有.py 扩展名? 我不知道可以在没有 .py 扩展名的情况下运行文件 【参考方案1】:

您可以随意命名;只要 she-bang 行(例如#!/bin/python)是好的,那么文件就会运行。

$ mv xkcdpwgen.py xkcdpwgen
$ ./xkcdpwgen -h

更多信息:shebang ***

【讨论】:

以上是关于如何在没有 .py 扩展名的情况下运行 argparse python 程序?的主要内容,如果未能解决你的问题,请参考以下文章

命令行运行Python脚本时传入参数的三种方式

如何在没有手动限制的情况下在一侧扩展 ggplot 条形刻度而不是另一侧

我的 html 模板如何在没有 view.py 传递的任何参数的情况下获取用户名?

在不使用 mod_rewrite 的情况下运行没有扩展的 PHP?

(PY)Spark:如何读取扩展名为“.gz”的“.txt”文件

如何在python脚本中默认情况下在第二个TFT屏幕上运行套接字服务器控制台,而不是在主TFT屏幕上?