gpt4 book ai didi

python - 如何制作可执行文件以在 shell 中使用 - Python

转载 作者:太空宇宙 更新时间:2023-11-04 10:58:10 25 4
gpt4 key购买 nike

我有一个 Python 脚本,我想知道如何让它可执行;换句话说,我如何使用像 bash 这样的 shell 来运行它。

我知道第一件事就是坚持第一行 #!/usr/bin/env python 但我是否需要例如函数按特定顺序排列(即顶部或底部的主要函数)。我还需要为我的 python 文件保留扩展名 .py(我可以只调用函数 Dosomething 吗?)。

简而言之,您能否提供一个简单的指南,说明使 Python 文件可执行时必须考虑的要点?

最佳答案

这就是我制作可执行脚本的方式。它不考虑 eggs 或类似的东西。这只是一个我希望能够执行的简单脚本。我假设您使用的是 Linux。

#! /usr/bin/env python
import sys


def main():
#
# Do something ... Whatever processing you need to do, make it happen here.
# Don't shove everything into main, break it up into testable functions!
#
# Whatever this function returns, is what the exit code of the interpreter,
# i.e. your script, will be. Because main is called by sys.exit(), it will
# behave differently depending on what you return.
#
# So, if you return None, 0 is returned. If you return integer, that
# return code is used. Anything else is printed to the console and 1 (error)
# is returned.
#
if an_error_occurred:
return 'I\'m returning a string, it will be printed and 1 returned'

# Otherwise 0, success is returned.
return 0

# This is true if the script is run by the interpreter, not imported by another
# module.
if __name__ == '__main__':
# main should return 0 for success, something else (usually 1) for error.
sys.exit(main())

现在,如果您的权限设置正确,您可以执行此脚本。

要意识到的一件事是,当您的脚本被处理时,每一行都在解释器中执行。这是真的,不管处理器如何“得到它”。也就是说,将脚本作为模块导入并作为脚本执行,两者的工作原理基本相同,因为它们都执行模块的每一行。

一旦您意识到您的脚本只是在运行时执行,您就会意识到函数的顺序并不重要。函数声明就是函数声明。在您调用重要的函数时。

因此,一般来说,您的脚本布局如下所示

def func1():
pass
def func2():
pass
def main():
return 0

if __name__ == '__main__':
sys.exit(main())

您先创建要使用的函数,然后再使用它们。希望对您有所帮助。

关于python - 如何制作可执行文件以在 shell 中使用 - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8073561/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com