Board logo

标题: python的使用和运行(1) [打印本页]

作者: look_w    时间: 2019-5-18 10:55     标题: python的使用和运行(1)

命令行模式

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

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!!!")



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

退出命令模式使用命令

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前缀,有点麻烦,那么我们可以在脚本文件里加上一些配置属性,告诉系统这个文件 如何去执行。

例如加上:

#!/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


结果如图:

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

vim helloworld


点击i输入内容如下:

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



esc+:wq保存退出。

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

chmod a+x helloworld



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

/Users/joe/workspace/helloworld



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

./helloworld



如图:

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

#!/usr/bin/env python


如果使用python3则使用

#!/usr/bin/env python3




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0