Python腳本開頭兩行的:#!/usr/bin/python和# -*- coding: utf-8 -*-的作用


#!/usr/bin/Python
指定用什么解釋器運行腳本以及解釋器所在的位置

# -*- coding: utf-8 -*-
用來指定文件編碼為utf-8的

估計有不少人注意過一些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: 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
申明l這是個python腳本,要用python解釋器來運行:
./test.py
輸出:
hello, world

這個東東常用在cgi腳本中,apache啟動cgi腳本時就靠它來知道這是個python腳本,執行它需要的python解釋器路徑在哪里。
有時候寫 #!/usr/bin/python 還是不行,很簡單,因為python解釋器沒有裝在/usr/bin/目錄,改成其所在目錄就行了,或者更通用的方法是:
#!/usr/bin/env python


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM