一个正常的例子
test.py :
有几个细节注意一下。
#!/usr/bin/env python
这个其实为了Mac/Unix下,能够将该文件作为脚本直接执行,而不是显式调用python解释器运行.py文件(从形式上讲,就是将调用解释器的步骤写在文件开头,成为文件一部分,而不是在运行文件时指定)。
该句告诉操作系统(Mac OS X或Unix),执行这个文件时将调用/usr/bin/env路径下的python解释器(具体什么版本将视实际情况而定),不然操作系统会默认视为shell脚本执行,从而出错。
当然,另外一个常见写法是:
#!/usr/bin/python
这是直接去/usr/bin/env目录下寻找python解释器,但是因不同操作系统的差异,有时解释器并不直接放在该目录下,所以还是使用之前的方式兼容性更好。
另外,即使是在Windows下,为了程序的可移植性,加上这句最好。
# -*- coding: UTF-8 -*-
该句的目的是将本文件的编码方式设置为UTF-8方式。但其实Python3的默认编码方式就是UTF-8,所以从Python3开始加不加都可以。
Mac下自动运行.py脚本
如果真的想在Mac下直接执行.py脚本,该怎么做呢?
- 终端内:idle ,打开python的IDLE:
图标:
界面:
- 使用IDLE new一个.py文件
- 代码:
注意,一定要加上
#!/usr/bin/env python
命名后放入文件夹:
- 给该.py添加执行权限:
chmod a+x XXX.py
接下来就可以直接执行该脚本了:
./XXX.py
实操:
一定不能忘了,要使用chmod a+x XXX.py给文件添加执行权限,否则最后一步不能成功,如下:
其实上面的操作可以总结为两步:
- 写好头部带#!/usr/bin/env python的.py程序
- chmod a+x XXX.py授予直接执行的权限
关于这两步:
- 我采用的是Python自带的IDLE创建.py,这个其实随意,用任何IDE或编辑器都行。
- 经实测,授予权限后,直接拖动文件到终端内+回车即可执行(真的很像脚本了),不用加 ./ 目前猜测和Powershell一样:加上**./**更保险而已。