在终端中运行Python文件


47

尝试学习如何通过Ubuntu终端定期运行我的脚本。话虽这么说,我很熟悉bashwgetawk被称为但是我怎么叫Python文件在终端上运行?我想学习这一点,但不确定在哪里进行研究。我有一个.pyw文件引用了.py一个文件夹中的几个文件。


下面差速器壳,因为原来的标题过于笼统,包括它-关于终端运行python脚本调用一个函数stackoverflow.com/q/25837063/54964
莱奥列奥波尔德·赫兹준 영

Answers:


81

选项1:呼叫翻译

  • 对于Python 2: python <filename>.py
  • 对于Python 3: python3 <filename>.py

选项2:让脚本调用解释器

  1. 确保文件的第一行有#!/usr/bin/env python
  2. 使它可执行- chmod +x <filename>.py
  3. 并运行为 ./<filename>.py

这是什么原因,当我想运行.py时,它只能与您的方法选项1一起使用,而第二个却给出语法错误?
Krsztr

如果您想打开一个新的python文件怎么办?
asmgx


5

还值得一提的是,-i在之后添加一个标志python,可以使会话保持运行状态以进行进一步的编码。像这样:

python -i <file_name.py>

3
python <filename.py>

我认为pyw应该以相同的方式运行。您也可以使用以下命令启动交互式控制台

python

另外,您可以通过在脚本顶部添加shebang来避免显式调用python:

#!/usr/bin/env python

...或其任何数量的变体


2

首先运行以下命令

chmod +x <filename>.py

然后在脚本的顶部,添加#!Python解释器的路径:

#!/usr/bin/python

如果您希望脚本独立于Python解释器所在的位置,则可以使用该env程序。假设Python解释器位于用户目录中,则几乎所有Unix变体都支持以下内容$PATH

#! /usr/bin/env python

0

使用cd将目录更改为包含.py的目录,并运行以下两个命令之一:

python <filename>.py  # for Python 2.x  
python3 <filename>.py # for Python 3.x 

或者,运行以下两个命令之一:

python /path/to/<filename>.py  # for Python 2.x  
python3 /path/to/<filename>.py # for Python 3.x 

-2

尝试使用命令python3而不是python。如果脚本是用Python3编写的,而您尝试使用Python2运行它,则可能会遇到问题。Ubuntu兼有。将程序名称更改为python3(而不是替换python)可以实现。Ubuntu需要v2.7(自2017年2月16日起),因此请勿删除或删除Python2,但请同时保留它们。养成使用Python3运行脚本的习惯,脚本可以运行。


1
-1 Python 3无法运行Python 2脚本(少数例外)。
wjandrea

我的坏,你的权利。那也许就是为什么Ubuntu仍然使用python 2的原因。对不起wjandrea,感谢您的纠正。
托尼
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.