Python的運行方式多種多樣,下面列舉幾種:
交互式
在命令行中輸入python,然后在>>>提示符后面輸入Python語句,這里需要注意:
1 語句前面不能有空格,否則會報錯
2 對於復合語句,前面會有...提示符,結束符合語句的方法是按下Enter鍵
命令行運行文件
以命令行運行文件有兩種形式:
1 將文件保存為.py,然后在命令行用python 文件名.py的方式運行
2 將文件當成shell腳本,以運行shell的方式運行,此時在文件第一行,需要寫#!/usr/bin/python,用來告訴使用Python來運行下面的命令,但是為了可移植性,即#!后面不要寫死python的目錄(因為不同的機器,可能python所在的目錄不一樣),可以使用#!/usr/bin/evn python代替,evn會自動搜尋Python解析器的位置,在大多數Unix的shell中,搜尋的路徑通常就是PATH環境變量中指定的目錄
import語句
import語句導入Python模塊(所謂模塊,簡單來看,就是.py結尾的Python文件)時,會將這個模塊的語句執行一遍,因此,也可以使用import來執行Python命令,但是import在一個Python運行周期里面,對於同一個文件只會導入一次,也就是說也只會執行一次。
reload函數
reload函數可以對已經被import導入的文件執行多次(沒有被導入的文件無法用reload執行),因此,reload也可以執行文件:
#假設script.py已經被導入過 from imp import reload reload(script)
需要注意的是:
1 reload在Python2.X中是內置函數,但是是在Python3.X中,被移動到了imp模塊里面
2 沒有被import的模塊,reload無法執行,上面已經提及
3 reload不具有傳遞性,即reload只會reload script.py本身,對於script.py內部import的模塊,reload不會執行
exec函數
可以使用exec來執行Python文件:
exec(open("script.py").read())
需要注意的是:
1 exec的作用就好比把script.py文件的內容粘貼到這條語句的位置,然后執行,這樣帶來的壞處就是,可能會有變量覆蓋的風險
2 在Python2.X中,還包括execfile("script.py")和exec(open("script.py"))的形式,但是,這兩種形式在Python3.X中都不支持