如何将Python代码作为脚本运行?

我需要帮助在ubuntu中运行python

我可以在我的终端中运行python而没有问题,但是当我创建.py文件时,我无法运行它。

它是如何工作的( python2示例,对于python3 ,用python3替换所有出现的python ):

  1. python /path/to/script.py
    • 如果文件可执行或不可执行,则有效
    • shebang( #!/usr/bin/env python )在脚本的头部是很好的做法,但不需要
  2. /path/to/script.py
    • 如果脚本可执行,则有效
    • 需要shebang( #!/usr/bin/env python
  3. script.py
    • 如果脚本在$ PATH中,则有效
    • 脚本需要可执行
    • filename需要扩展名
    • 需要shebang( #!/usr/bin/env python
  4. script
    • 如果脚本在$ PATH中,则有效
    • 脚本需要可执行
    • 文件名应该没有扩展名
    • 需要shebang( #!/usr/bin/env python

更多信息:命令,shebang或扩展的优先级?

shell可以从两个源(按优先顺序)获取有关如何运行脚本的信息:

  • 命令中的语言信息: python
  • shebang,在剧本的第一行: #!/usr/bin/env python

然而,语言扩展不起作用(!)。

几个例子:

  1. bash脚本,命令中的正确(语言)信息, 不正确的 shebang, 不正确的扩展名:

     #!/usr/bin/env python echo 'Monkey eats banana' 

    跑了:

     $ sh /path/to/script.py > Monkey eats banana 

    如果运行正确,命令中的信息优先于shebang和扩展名。

  2. 一个(可执行的) python脚本,运行扩展名不正确 ,但正确的shebang:

     #!/usr/bin/env/python print "Monkey eats banana" 

    跑了:

     $ /path/to/script.sh > Monkey eats banana 

    运行正确,shebang中的信息优先于扩展。

  3. 一个(可执行的) python脚本,具有正确的扩展名,但没有shebang(并且命令中没有语言信息):

     print "Monkey" 

    跑完命令:

     $ /path/to/script.py > Error: no such file "Monkey" 

    虽然语言扩展,但运行不正常!

要运行python脚本,请使用python

 python script.py 

可能你需要让它可执行。

 chmod +x /path/to/your/file.py 

这个问题在这里得到解答: 在终端中运行Python文件
如果这些都不起作用:

您可以将代码保存为带有.py文件扩展名的gedit中的脚本,即。 exampleFile.py

但是在第一行添加#!/usr/bin/python并保存。

通过输入使脚本可执行

 chmod +x exampleFile.py 

进入终端。

(我通常将脚本保存在一个单独的目录中,并通过cd exampleDirectory调用终端中的目录,然后在该特定目录中执行脚本)
[您也可以通过在终端中输入l命令来列出该目录中的文件来检查脚本是否在您的目录中,如果脚本可执行则该脚本应为绿色]

然后你可以调用脚本在终端中运行:

 python exampleFile.py 

如果您更喜欢该版本,可以在列出python所有区域中用python3替换python

此外,如果这些都不起作用,您可以使用vim或其他第三方软件编写和运行python脚本。