Python程序的文件頭部聲明小結
更新時間:2025年05月29日 10:53:36 作者:福旺旺
在Python文件的頂部聲明編碼通常是必須的,尤其是在處理非ASCII字符時,下面就來介紹一下兩種頭部文件聲明,具有一定的參考價值,感興趣的可以了解一下
一般Python程序的文件開頭會有這兩行代碼。
#!/usr/bin/env python # coding=utf-8
這里解釋一下這兩行代碼的意義。
一、# coding=utf-8
- 寫法:
# -*- coding: UTF-8 -*- 或者 # coding=utf-8
注意:# coding=utf-8 的 = 號兩邊不要空格。
- 作用:將編碼格式改為utf-8格式
- 編碼與編碼格式:編碼簡單而言就是一種翻譯的過程,將機器能夠理解的語言轉換為我們人類可以理解的語言,編碼格式就是翻譯的方式,根據對存儲空間與編碼效率的要求來選擇不同的編碼格式,常見的編碼格式有:ASCII、ISO-8859-1、GB2312、GBK、UTF-8、UTF-16 等。
- Python版本:Python2中默認的編碼格式為ASCII碼格式,Python3中默認的編碼格式為UTF-8格式。
- 使用原因:再次繞回來,為什么要加上這句話呢。因為在ASCII碼格式下不能出現中文字符(代碼或注釋都不可以),否則就會報錯,只有在utf-8格式下才能正常編譯運行。所以在Python2版本下,只要出現中文,一定要加上這句頭部聲明。
- 查看當前python環(huán)境下的默認編碼格式:進入python后,在控制臺下輸入以下命令即可。
>>import sys >>sys.getdefaultencoding() //python2 為>>'ascii',python3 為>>'utf-8'
- 代碼的可移植性:Python3的默認格式就是utf-8,這句話對它就沒有意義了,但是考慮到代碼的可移植性,還是建議編寫時養(yǎng)成習慣,加上這句話。
二、#!/usr/bin/env python
- 寫法:
#!/usr/bin/env python 或者 #!/usr/bin/python
- 作用:用來指定本腳本用什么解釋器來執(zhí)行
- 代碼可以被分為兩個部分
- #?。航凶鰏hebang或者sha-bang,有的翻譯組將它譯為‘釋伴’,即“解釋伴隨行”的簡稱。后面可以加上一個或數個空白字符。
- /usr/bin/env python:解釋器的絕對路徑,用于指明執(zhí)行這個腳本文件的解釋器。
- 注意:這行代碼只對 Linux/Unix 用戶適用,其他環(huán)境下等同于注釋。但是為了代碼的可移植性,建議在編寫程序的時候加上。
- 代碼可以被分為兩個部分
- #!/usr/bin/python和#!/usr/bin/env python的區(qū)別:
- #!/usr/bin/python:是告訴操作系統執(zhí)行這個腳本的時候,調用 /usr/bin 下的 python 解釋器。
- #!/usr/bin/env python :這種用法是為了防止操作系統用戶沒有將 python 裝在默認的 /usr/bin 路徑里。當系統看到這一行的時候,首先會到 env 設置里查找 python 的安裝路徑,再調用對應路徑下的解釋器程序完成操作。
#!/usr/bin/python 相當于寫死了 python 路徑。
#!/usr/bin/env python 會去環(huán)境設置尋找 python 目錄,可以增強代碼的可移植性。
- 推薦寫法:#!/usr/bin/env python
三、運行Python程序
方法和編譯運行shell腳本類似
- 方法一:給予”執(zhí)行(x)“的權限后,直接運行
chmod u+x xxx.py ./xxx.py
- 方法二:直接告訴操作系統用python解釋器來編譯運行該程序(所以這種情況不加#!/usr/bin/env python也可以運行)
python xxx.py
四、結論
為了讓Python程序在各種系統中,在包含有中文的情況下,可以順利運行,加上下面的文件頭部聲明。
#!/usr/bin/env python # coding=utf-8
到此這篇關于Python程序的文件頭部聲明小結的文章就介紹到這了,更多相關Python 文件頭部聲明內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章: