我们安装python完成之后就可以尝试使用python,运行一些命令、py脚本以及尝试脚本之间的相互调用。

命令行模式

首先需要进入命令行模式
使用命令:

python

输出符号>>>如下说明已经进入命令行模式:

zhangxiaofans-MacBook-Pro:workspace joe$ python
Python 2.7.10 (default, Feb  7 2017, 00:08:15) 
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

这时候就可以输入python命令了,例如:

print("zzq: HelloWorld!!!")

python运行系统命令 python怎么运行命令_python


命令模式会直接输出结果。

退出命令模式使用命令

exit()

脚本模式

在python的交互式命令行写程序,好处是一下就能得到结果,坏处是没法保存,下次还想运行的时候,还得再敲一遍。

这种情况下一般需要使用脚本模式来运行,比如将print “hello world”写入helloworld.py中

使用编辑器生成.py文件,使用命令

vim helloworld.py

点击i输入内容如下:

print("zzq: HelloWorld!!!")

esc+:wq保存退出。

这样一个脚本就创建好了,一般来说我们还需要修改这个文件的执行权限。

chmod a+x helloworld.py

开始执行python脚本,使用命令如下:

python helloworld.py

注意:必须找到目标文件的正确位置,如果不是当前目录执行则需要加上绝对路径。

输出如图:

python运行系统命令 python怎么运行命令_python运行系统命令_02

加入执行方式

我们发现每次执行都需要加上python前缀,有点麻烦,那么我们可以在脚本文件里加上一些配置属性,告诉系统这个文件 如何去执行。

例如加上:

#!/usr/bin/python

或者

#!/usr/bin/env python

二者的区别在于:

usr/bin/python是告诉操作系统在调用脚本时调用/usr/bin目录下的python解释器,python解释器的路径被明确给出。
如果找不到python执行路径,输入以下命令查看

$ which python

usr/bin/env python是为了防止用户没有将python 装在默认的 /usr/bin 路径里。当系统看到这一行的时候,首先会到env设置里查找 python 的安装路径,再调用对应路径下的解释器程序完成操作。#!/usr/bin/env python会去环境设置寻找python目录通常推荐第二种写法。
如果不知道env路径,输入以下命令查看:

$ which env

需要再次强调的是,上述解析路径应该放在 Python 脚本的第一行。

加上之后不需要python命令即可执行目标文件。

vim helloworld.py

点击i输入内容如下:

#!/usr/bin/env python
print("zzq: HelloWorld!!!")

esc+:wq保存退出。

因为已经告诉了系统用什么程序来运行这个文件所以直接使用文件路径和文件名即可运行。
如下:

/Users/joe/workspace/helloworld.py

或者进入到当前目录,使用命令

./helloworld.py

结果如图:

python运行系统命令 python怎么运行命令_使用_03

告诉了系统使用什么程序执行文件之后甚至不需要py的后缀也可以执行python脚本。
例如:

vim helloworld

点击i输入内容如下:

#!/usr/bin/env python
print("zzq: HelloWorld!!!")

esc+:wq保存退出。

修改这个文件的执行权限。

chmod a+x helloworld

因为已经告诉了系统用什么程序来运行这个文件所以直接使用文件路径和文件名即可运行。
如下:

/Users/joe/workspace/helloworld

或者进入到当前目录,使用命令

./helloworld

如图:

python运行系统命令 python怎么运行命令_运行_04

加入执行方式还可以解决环境中多个python版本混用的问题,如果有些脚本需要用python2执行,则使用

#!/usr/bin/env python

如果使用python3则使用

#!/usr/bin/env python3

python2和python3的区别

用 Python3.4 的编译器编译 Python 2.7 的程序而导致不通过。Python 2.7.x 和 Python 3.x 版本并非完全兼容。

因为区别比较多,这里就不列举了,可以参考:
知乎Python 2 和 Python 3 有哪些主要区别

《Key differences between Python 2.7.x and Python 3.x》

Python 2.7.x 与 Python 3.x 的主要差异

python3的运行方式

因为python2和python3是有差异的。

这里需要提的一点是, linux系统中,一般同时会具有python3跟python2两个版本. 执行python的时候, 默认会执行python2的程序

如果要执行python3的命令和脚本使用python3执行即可,命令如下:

python3 helloworld.py

脚本之间的相互调用

在进行脚本之间的相互调用之前 我们需要先了解函数和模块。参考我们后续的文章。