廖雪峯Python入門 QA收集

Q出處:python

http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014316399410395f704750ee9440228135925a6ca1dad8000
shell

直接運行py文件spa

能不能像.exe文件那樣直接運行.py文件呢?在Windows上是不行的,可是,在Mac和Linux上是能夠的,方法是在.py文件的第一行加上一個特殊的註釋:操作系統

Q:爲何許多 python 文件的頭部都會寫上下面這一行code

#!/usr/bin/env python3

A:orm

若是你用 python xxoo.py 來運行,那麼寫不寫都不要緊,若是要用 ./xxoo.py 那麼就必須加這行,這行被稱爲      shebang, 用來爲腳本語言指定解釋器.ip

一般認爲用 #!/usr/bin/env python 要比 #!/usr/bin/python 更好,由於 python 解釋器有時並不安裝在默認路徑,例如在 virtualenv 中。開發


這是腳本語言共同遵照的規則:當第一行爲 #!/path/to/script/interpreter時,指定了用來執行本腳本的解釋器。get

注意:it

一、必須是文件的第一行

二、必須以#!開頭,你丟了一個驚歎號

三、/path/to/script/interpreter是腳本解釋器的全路徑名。


例如:

#!/bin/sh           shell腳本

#!/usr/bin/perl     perl腳本

#!/usr/bin/python   python腳本

#!/usr/bin/python3  python3腳本

#!/usr/bin/python2  python2腳本


而有時不太清楚腳本解釋器的具體全路徑名;或者開發環境與運行環境的安裝路徑不一樣。爲了保證兼容性,也能夠寫做:

#!/usr/bin/env python3

這樣運行時會自動搜索腳本解釋器的絕對路徑。


#!/usr/bin/python是告訴操做系統執行這個腳本的時候,調用/usr/bin下的python解釋器;

#!/usr/bin/env python這種用法是爲了防止操做系統用戶沒有將python裝在默認的/usr/bin路徑裏。當系統看到這一行的時候,首先會到env設置裏查找python的安裝路徑,再調用對應路徑下的解釋器程序完成操做。

#!/usr/bin/python至關於寫死了python路徑;

#!/usr/bin/env python會去環境設置尋找python目錄,推薦這種寫法


#!/usr/bin/python 是通常默認的python解釋器的路徑, 因此這種的就是裝在默認位置的不會出問題。

可是 #!/usr/bin/env python 則更加通用一些 會去你的PATH 中尋找python 。

Q出處:

http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143186362353505516c5d4e38456fb225c18cc5b54ffb000

Q:如何設置PYTHONPATH環境變量

A:  下面幾個重要的環境變量,它應用於Python                

變量名 描述
PYTHONPATH PYTHONPATH是Python搜索路徑,默認咱們import的模塊都會從PYTHONPATH裏面尋找。
PYTHONSTARTUP Python啓動後,先尋找PYTHONSTARTUP環境變量,而後執行此文件中變量指定的執行代碼。
PYTHONCASEOK 加入PYTHONCASEOK的環境變量, 就會使python導入模塊的時候不區分大小寫。
PYTHONHOME 另外一種模塊搜索路徑。它一般內嵌於的PYTHONSTARTUP或PYTHONPATH目錄中,使得兩個模塊庫更容易切換。
相關文章
相關標籤/搜索