从命令行调用 python 模块函数

call python module functions from command line

我想知道是否有从命令行调用模块函数的方法。我的问题是我有一个名为 find_mutations 的文件包。这需要以特定方式对输入文件进行排序,因此我创建了一个函数来执行此操作。我希望用户能够正常选择 运行 代码:

$ python -m find_mutations -h

或运行具体sort_files函数:

$ python -m find_mutations.sort_files -h

这样的事情可能吗?如果是这样,sort_files 函数是否需要在其自己的条带中?我需要在我的 __init__.py 脚本中添加一些东西吗?软件包安装正确 运行 没问题,我只想添加这个。

您可以向 运行 函数添加标志。以下示例不是使用命令参数的好方法,但演示了这个想法。

import sys

if __name__ == "__main__":
    if '-s' in sys.argv:
        sort_files()

向 运行 特定函数添加标志,在本例中 -s 对文件进行排序。