2024-04-23 12:28:29 发布
网友
我有一个代码,我希望人们能够使用它作为一个独立的python程序,或者作为一个模块导入自己的代码。有没有一种方法可以打包一个模块,其中还可以包含一个可以从命令行运行的程序?你知道吗
即从命令行:
> ZHermesCode
或者在ipython或python脚本中:
import ZHermesCode
如果您使用:
if name == '__main__':
只有当有人从命令行运行您的程序时,才会运行该“if”语句中的代码。你知道吗
如果有人要导入您的模块,代码将不会运行。你知道吗
例如
def test(st): return(st) if name == "__main__": print(test("hello"))
如果您从命令行运行此程序,它将打印“hello”。但是,也可以导入此模块并访问“test”函数以在自己的程序中使用。你知道吗
查找Setuptools automatic script creation。例如,^{}使用此技术使scss成为可执行的shell命令。你知道吗
scss
在^{}中:
setup( # ... entry_points={ 'console_scripts': [ 'scss = scss.tool:main', ] }, )
然后在^{}中定义函数main。它还使用Loocid提到的技术使tool.py文件本身直接可执行(与setuptools根据上述方法公开安装的包装器脚本相反):
main
tool.py
if __name__ == '__main__': main()
如果您使用:
只有当有人从命令行运行您的程序时,才会运行该“if”语句中的代码。你知道吗
如果有人要导入您的模块,代码将不会运行。你知道吗
例如
如果您从命令行运行此程序,它将打印“hello”。但是,也可以导入此模块并访问“test”函数以在自己的程序中使用。你知道吗
查找Setuptools automatic script creation。例如,^{} 使用此技术使
scss
成为可执行的shell命令。你知道吗在^{} 中:
然后在^{} 中定义函数
main
。它还使用Loocid提到的技术使tool.py
文件本身直接可执行(与setuptools根据上述方法公开安装的包装器脚本相反):相关问题 更多 >
编程相关推荐