python脚本中的#!/usr/bin/python

python脚本开头有这么行:      #!/usr/bin/python

#!/usr/bin/env python与#!/usr/bin/python的区别

 #!/usr/bin/python是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器;相当于写死了python路径;
#!/usr/bin/env python 是为了防止操作系统用户没有将python装在默认的/usr/bin路径里。执行时首先会到env设置里查找python的安装路径,再调用对应路径下的解释器程序完成操作。推荐这种写法


以test.py为例,脚本内容如下:

def test():
       print ‘hello, world’

if  __name__ == “__main__”:
test()

运行脚本:    python test.py
输出:       hello, world

换一种方法运行:     ./test.py
会提示出错,文件无可执行权限:   -bash: ./test.py: Permission denied

将文件设为可执行:   chmod +x test.py
继续运行:       ./test.py
提示:
./test.py: line 1: syntax error near unexpected token `(‘
./test.py: line 1: `def test():’
那是因为系统默认该脚本是shell脚本,把它当shell语句执行,当然失败了。

在前面加上       #!/usr/bin/python   ,申明这是个python脚本,要用python解释器来运行:  ./test.py
输出:   hello, world

这个东东常用在cgi脚本中,apache启动cgi脚本时就靠它来知道这是个python脚本,执行它需要的python解释器路径在哪里。
有时候写 #!/usr/bin/python 还是不行,因为python解释器没有装在/usr/bin/目录,改成其所在目录就行了,或者更通用的方法是:#!/usr/bin/env python


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值