如何直接运行 Python 程序?

Pri*_*aul 14 python

如何直接运行 Python 程序?

我在 gedit 中创建了一个.py文件(比如mnik.py)。它在终端中运行流畅。

命令去

python3 mnik.py
Run Code Online (Sandbox Code Playgroud)

但是每当我点击文件时,它就会用 gedit 打开。我无法通过单击直接运行它。

该怎么办?

Ser*_*nyy 28

有两件事需要。

  1. 脚本必须有#!一行告诉操作系统使用哪个解释器。在您的情况下,您的代码中的第一行必须是#!/usr/bin/env python3
  2. 您需要打开文件管理器,转到编辑 -> 首选项 -> 行为,然后选择如何处理可执行文件

    在此处输入图片说明

    1. 最后,确保您的文件本身确实设置了可执行权限。在终端中,您可以chmod +x /path/to/script.py在 GUI 中执行此操作,右键单击该文件并更改其属性 -> 权限

    在此处输入图片说明

    在此处输入图片说明

关于shebang线的注意事项

第一行称为 shebang 行,必须以#!;开头。接下来是将读取您的代码的解释器的名称。如果您正在使用,python3您可以使用#!/usr/bin/python3或 #!/usr/bin/env python3用于便携性。如果您不使用特定于 python 版本的代码 - 只需使用#!/usr/bin/env python

注意脚本输出:

如果您的脚本将输出打印到控制台,则需要有终端窗口,或者使用 GUI 对话框,例如zenity. Run in Terminal如果您想查看代码,最好使用选项。如果您希望脚本在没有看到控制台输出的情况下执行某些操作 - 使用Run选项。

在此处输入图片说明

此外,如果您有命令行参数,例如sys.argv[1]在脚本中,则除非您打开终端窗口,否则无法设置它们。

  • `#!/usr/bin/env python` 将在大多数 Ubuntu 系统上调用 Python2。尽管您可以使为 Python3 编写的 Python 脚本与 Python2 兼容,但我不会假设 OP 已经这样做了。`#!/usr/bin/env python3` 似乎更合适 (3认同)