如何通过命令行运行 Python 代码
本节讲述的是通过命令行运行 Python 代码,至于如何运行文件形式的 Python 脚本,你可以查看如何通过命令行运行 Python 脚本文件,模块,包一节。
通过命令行运行 Python 代码
在命令行中输入python
或python3
(或者指向 Python 的一些别名)并使用-c
参数,然后给出需要运行的 Python 代码,按下Enter后这些代码将被执行。
python -c <command>
python3 -c <command>
- command 参数值
command
参数值所表示的 Python 代码,可以是单行或多行的,其中多行效果需要通过换行符来实现。在不同的命令行应用中,换行符的表述可能不同,比如,在 PowerShell 中换行符可表述为`n
。command
中的特殊字符需要进行转义,比如,双引号中的双引号,单引号中的单引号,这需要根据具体的命令行应用来确定。当然,对于 Python 字符串包含的特殊字符,依然可以使用\
进行转义,如果\
本身是命令行的特殊字符,则应视具体情况决定是否首先转义\
。另外,单行代码可以通过
;
组合多条语句,多行代码中每一行开头的缩进与py
文件的缩进含义相同。
转义特殊字符
想要了解命令行中的转义,你可以查看编程指南的如何在命令行中转义特殊字符一节。
在 PowerShell 中,我们简单的使用代码输出一段消息。
# PowerShell
python -c "print('通过命令行执行代码!')"
通过命令行执行代码!
依然是在 PowerShell 中,下面的代码将变量a
和b
的赋值语句,通过;
合并为一行,而if
语句则通过`n
被划分为多行,print
函数前面的空白不能省略,否则会出现语法错误。
# PowerShell
python -c "a = int(input('A = '));b = int(input('B = '))`nif a > b:`n print('A 大于 B')`nelse: print('A 小于 B')"
A = 1
B = 3
A 小于 B
如果希望在 PowerShell 的双引号中使用双引号,那么需要使用`"
进行转义,正如下面所示的第一行代码。至于代码的另一行,虽然中间的两个单引号不需要针对 PowerShell 转义,但他们处于 Python 的单引号字符串中,因此使用 Python 转义字符\
进行转义。
# PowerShell
python -c "print('杰瑞说:`"转义 PowerShell 双引号中的双引号`"')"
杰瑞说:"转义 PowerShell 双引号中的双引号"
python -c "print('杰瑞说:\'转义 Python 单引号中的单引号\'')"
杰瑞说:'转义 Python 单引号中的单引号'
在 UNIX/Linux/macOS 系统中,Shell 程序的转义字符一般是\
,在书写\\t
后,\\t
会被命令行转义为\t
,而\t
将被 Python 转义为制表符。在书写\\\\
后,\\\\
会被命令行转义为\\
,而\\
将被 Python 转义为\
。
# UNIX/Linux/macOS
python3 -c "print('杰瑞说:\\t转义 Python 转义字符\\\\')"
杰瑞说: 转义 Python 转义字符\
在交互模式中运行 Python 代码
什么是 Python 交互模式?
你可以将 Python 交互模式视为一种命令行的实现,使用他就如同在编写一个 Python 模块,可用于演示,教学或验证某个想法。
在进入 Python 的交互模式后,你可以简单的输入 Python 代码,然后按下Enter来执行他,如果存在可供显示的结果,那么这些结果将展现在交互模式中。比如,某个变量或函数的返回值。
当输入的代码没有完整到足以正常执行时,交互模式会要求补充剩余的代码,你可以在未输入任何字符的情况下,再次按下Enter来执行之前所有的输入。如果希望书写一个空行而不是结束输入,那么在按下Enter之前需要书写至少一个空白字符(比如,一个空格)。
下面,我们使用input
函数要求用户输入姓名,并通过if
语句判断输入是否为空。
name = input('请输入姓名:')
请输入姓名:…Enter
if not name:
... print('没有姓名?!')
...…Enter
没有姓名?!
如何进入 Python 交互模式?
对于 Windows 操作系统,在命令行输入python
后即可进入 Python 交互模式,对于 UNIX/Linux/macOS 系统,则需要输入python3
。当然,除了python
和python3
,你也可以使用其他指向了 Python 的别名。
如何退出 Python 交互模式?
对于 Windows 系统,在 Python 交互模式中先后按下Ctrl+Z和Enter,将退出交互模式,对于 UNIX/Linux/macOS 系统,只需按下Ctrl+D即可。
如果site
模块在 Python 启动时被导入,那么,在交互模式中输入exit()
或quit()
同样可以退出交互模式。事实上,导入site
模块是默认的,除非你使用_pth
文件重写了 Python 模块搜索路径,并且未在_pth
中书写有效(不是注释)的import site
。
重写搜索路径
要获取关于_pth
文件的信息,你可以查看Python 指南的如何使用 _pth 文件重写 Python 模块搜索路径一节。
模块搜索路径
想要了解 Python 的模块搜索路径,你可以查看Python 指南的Python 模块搜索路径介绍,Python 模块搜索路径中的目录有哪些一节。