说明
《Python 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gr99123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
本内容来自:https://gairuo.com
作为一名 Python 开发人员,你需要构建的最重要的技能之一就是能够运行 Python 脚本和代码。 这将是您了解代码是否按计划工作的唯一方法。本文主要介绍如何使用命令行来执行 Python 脚本。
Python 执行模式
一般情况下,你可以通过以下方式来运行你写的 Python 脚本:
操作系统命令行或终端(本文的内容)
Python 交互模式
您最喜欢的 IDE 或文本编辑器
通过双击脚本的图标(需要先将脚本打包)
交互模式下,你在电脑的终端,输入 python 或者 ipython (Python的一个交互式解释器),便可进入交互式运营环境,加输入代码,按回车可执行。
>>> print('Hello World')
Hello World
>>> 1 + 1
2
一个交互式会话将允许您测试您编写的每一段代码,这使它成为一个很棒的开发工具,也是一个很好的实验语言和动态测试 Python 代码的地方。
如果想退出可以执行 quit() 或者 exit() 函数, 它们是 Python 内置的函数。
打开终端
命令行或终端的打开方式为:
在 Windows 上,命令行通常被称为命令提示符或 MS-DOS 控制台,它是一个名为 cmd.exe 的程序。该程序的路径可能因系统版本而异。快速访问它的方法是按 Win+R 组合键,这将带您进入“运行”对话框。 到达那里后,输入 cmd 并按 Enter。
在 GNU/Linux(和其他 Unix)上,有几个应用程序可以让您访问系统命令行。 一些最受欢迎的是 xterm、Gnome Terminal 和 Konsole。 这些是运行 shell 或终端的工具,如 Bash、ksh、csh 等。在这种情况下,这些应用程序的路径更加多样化,并且取决于发行版,甚至取决于您使用的桌面环境。 因此,您需要阅读系统文档。
在 Mac OS X 上,您可以从应用程序 → 实用程序 → 终端访问系统终端。
如果安装了 conda 之类的发行版本解释器,也会提供专门的终端,可直接使用。
Python 交互式会话将允许您编写很多代码行,但是一旦您关闭会话,您将丢失您编写的所有内容。 这就是为什么编写 Python 程序的常用方法是使用纯文本文件。 按照惯例,这些文件将使用 .py 扩展名。 (在 Windows 系统上,扩展名也可以是 .pyw)
可以使用任何纯文本编辑器创建 Python 代码文件。 如果你是 Python 编程新手,可以试试 Sublime Text,它是一个功能强大且易于使用的编辑器,但你可以使用任何你喜欢的编辑器。
命令行
命令行是在终端中执行的。调用 Python 时,可以指定下列任意选项,语法为:
python [-bBdEhiIOqsSuvVWx?] [-c command | -m module-name | script | - ] [args]
最常见的用例是启动时执行脚本:
python myscript.py
# 带文件目录的
python hui/py/myscript.py
如果脚本不在当前位置或者不想使用相对定位,可以先用 cd 并配置 ls 命令定位查看,确定脚本所在的目录。
脚本执行完成后会自动退出执行,如果执行过程中想退出,可以: UNIX(包括 MAC)中按 Ctrl-D,Windows 中按 Ctrl-Z, Enter。
简单执行
假如我们编写一个名为 hello.py 的脚本:
# hello.py
print('Hello World!')
保存后,在终端执行(输入命令后回车),就会输出结果:
$ python hello.py
Hello World!
指定输出
有时,保存脚本的输出以供以后分析很有用。您可以这样做:
$ python hello.py > output.txt
此操作将脚本的输出重定向到 output.txt,而不是标准系统输出 (stdout)。 该过程通常称为流重定向(stream redirection),可在 Windows 和类 Unix 系统上使用。
如果 output.txt 不存在,则会自动创建。 另一方面,如果文件已经存在,那么它的内容将被新的输出替换。
最后,如果要将连续执行的输出添加到 output.txt 的末尾,那么必须使用两个尖括号 (>>) 而不是一个,就像这样:
$ python hello.py >> output.txt
-m 选项运行模块
Python 提供了一系列命令行选项,您可以根据需要使用它们。 例如,如果要运行 Python 模块,可以使用命令 python -m
-m 选项在 sys.path 中搜索模块名称并将其内容作为 __main__ 运行:
$ python -m hello
Hello World!
模块名称必须是模块对象的名称,而不是字符串。
接受参数
可以接受一些参数,传入脚本内部执行。我们创建以下一个脚本文件:
# hello.py
import sys
a=sys.argv[0]
b=sys.argv[1]
print(f'{a}, {b}!')
执行命令:
% python hello.py hello world
hello.py, hello!
打印出了脚本名,这是由于 sys.argv[0] 为脚本名,我们将其调整为从 1 开始:
# hello.py
import sys
a=sys.argv[1]
b=sys.argv[2]
print(f'{a}, {b}!')
再执行命令:
% python hello.py hello world
hello, world!
可以看到成功接受了我们传入的两个参数。
还可以将传入的信息做分隔转为列表:
import sys
a=sys.argv
print(a)
执行后:
% python hello.py a, b,c,d
['hello.py', 'a,', 'b,c,d']
通用选项
以下是一些通用的功能:
# 命令帮助
% python -h
% python --help
# Python 版本查看
% python -V
% python --version
% python -VV # 更多构建信息
其他
if __name__ == '__mian__' 的意义,详见。
参考
https://docs.python.org/3/using/cmdline.html
https://docs.python.org/3/tutorial/interpreter.html
https://realpython.com/run-python-scripts/
相关内容
Python习题 007:运行脚本的正确命令是?
2023-08-20 09:55:53
< 变量
Python 教程
数据类型介绍 >
更新时间:2023-05-18 10:12:49
标签:python
命令行
脚本