python模块与命令行程序

2024-04-23 12:28:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个代码,我希望人们能够使用它作为一个独立的python程序,或者作为一个模块导入自己的代码。有没有一种方法可以打包一个模块,其中还可以包含一个可以从命令行运行的程序?你知道吗

即从命令行:

> ZHermesCode

或者在ipython或python脚本中:

import ZHermesCode

Tags: 模块方法代码命令行import程序脚本ipython
2条回答

如果您使用:

if name == '__main__':

只有当有人从命令行运行您的程序时,才会运行该“if”语句中的代码。你知道吗

如果有人要导入您的模块,代码将不会运行。你知道吗

例如

def test(st):
    return(st)

if name == "__main__":
    print(test("hello"))

如果您从命令行运行此程序,它将打印“hello”。但是,也可以导入此模块并访问“test”函数以在自己的程序中使用。你知道吗

查找Setuptools automatic script creation。例如,^{}使用此技术使scss成为可执行的shell命令。你知道吗

^{}中:

setup(
    # ...
    entry_points={
        'console_scripts': [
            'scss = scss.tool:main',
        ]
    },
)

然后在^{}中定义函数main。它还使用Loocid提到的技术使tool.py文件本身直接可执行(与setuptools根据上述方法公开安装的包装器脚本相反):

if __name__ == '__main__':
    main()

相关问题 更多 >