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

来源:互联网 发布:pixlr软件 编辑:程序博客网 时间:2024/06/13 14:12

很多python脚本都有一句:#!/usr/bin/python,它的功能是什么,貌似没有它也不影响脚本的运行。它是用来指定用什么解释器运行脚本以及解释器所在的位置。以test.py为例,脚本内容如下:

def test():   print 'hello,world'if __name__ == "__main__":   test()
运行脚本:python test.py 输出hello,world

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

将文件设为可执行: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

参考Python脚本中的#!/usr/bin/python

参考/bin,/sbin,/usr/sbin,/usr/bin目录之简单区别

0 0
原创粉丝点击