欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python文件頭部聲明#coding=utf-8問題

 更新時間:2024年06月24日 09:33:03   作者:冰美式QAQ  
這篇文章主要介紹了python文件頭部聲明#coding=utf-8問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

一、python2和python3默認編碼

python2默認的編碼格式是ASCII格式,python3默認的編碼格式是utf-8格式。

pycharm控制臺輸入如下命令,可以獲取當前python環(huán)境下的默認編碼格式

//python2環(huán)境
>>import sys
>>sys.getdefaultencoding()
>>'ascii'
//python3環(huán)境
>>import sys
>>sys.getdefaultencoding()
>>'utf-8'

二、# coding=utf-8

在python2環(huán)境中編寫python代碼時,如果代碼(或者注釋)有中文,需要在python文件的開頭加入

# -*- coding: UTF-8 -*-
或者
# coding=utf-8

注意:# coding=utf-8 的 = 號兩邊不要空格。

如果未指定編碼格式,使用默認編碼格式ASCII碼,那么在執(zhí)行該文件時,會出現(xiàn)報錯:

s = "中文"
print(s)

E:\PycharmProjects\LEDdisplay2\venv\Scripts\python.exe E:/PycharmProjects/LEDdisplay2/2.py
  File "E:/PycharmProjects/LEDdisplay2/2.py", line 1
SyntaxError: Non-ASCII character '\xe4' in file E:/PycharmProjects/LEDdisplay2/2.py on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

Process finished with exit code 1

python3環(huán)境中,源碼文件默認使用utf-8編碼,可以正常解析中文,不需要開頭加上面的代碼,但是為了代碼的可移植性,建議在編寫程序的時候加上

另外,使用編輯器編寫python程序時,還需要設(shè)置py文件存儲的格式為UTF-8,否則會出現(xiàn)亂碼或者報錯。

三、#!/usr/bin/env python

一般在python文件的開頭第一行,我們都會看到下面的代碼行

  • python2
#!/usr/bin/env python
或者
#!/usr/bin/python
  • python3
#!/usr/bin/env python3
或者
#!/usr/bin/python3

這行代碼只對 Linux/Unix 用戶適用,用來指定本腳本用什么解釋器來執(zhí)行。

其他環(huán)境下等同于注釋。

為了代碼的可移植性,建議在編寫程序的時候加上。

1.這行代碼是什么意思?

要理解這行代碼,需要把這一行語句拆分成兩個部分

  • 第一部分是 #!
  • 第二部分是 /usr/bin/env python

關(guān)于 #! 這個符號,叫做shebang或者sha-bang,有的翻譯組將它譯為 釋伴,即“解釋伴隨行”的簡稱,同時又是shebang的音譯。

Shebang通常出現(xiàn)在類Unix系統(tǒng)的腳本中第一行,作為前兩個字符。在Shebang之后,可以有一個

或數(shù)個空白字符,后接解釋器的絕對路徑,用于指明執(zhí)行這個腳本文件的解釋器。

2.#!/usr/bin/python和#!/usr/bin/env python的區(qū)別

  • #!/usr/bin/python 是告訴操作系統(tǒng)執(zhí)行這個腳本的時候,調(diào)用 /usr/bin 下的 python 解釋器。
  • #!/usr/bin/env python 這種用法是為了防止操作系統(tǒng)用戶沒有將 python 裝在默認的 /usr/bin 路徑里。當系統(tǒng)看到這一行的時候,首先會到 env 設(shè)置里查找 python 的安裝路徑,再調(diào)用對應(yīng)路徑下的解釋器程序完成操作。
  • #!/usr/bin/python 相當于寫死了 python 路徑。
  • #!/usr/bin/env python 會去環(huán)境設(shè)置尋找 python 目錄,可以增強代碼的可移植性,推薦這種寫法。

有這句的,加上執(zhí)行權(quán)限后,可以直接用 ./ 執(zhí)行,不然會出錯,因為找不到 python 解釋器。

  • 調(diào)用方法1:
python script.py 

#!/usr/bin/python 被忽略,等同于注釋

  • 調(diào)用方法2:
./script.py 

#!/usr/bin/python 指定解釋器的路徑

四、#!/usr/bin/env python和# coding=utf-8

為了代碼能夠在linux和windows環(huán)境下都可以運行,中文編碼不報錯,建議在編寫python程序時,在文件開頭加上這兩句。

#!/usr/bin/env python
# coding=utf-8

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:

相關(guān)文章

  • 關(guān)于Python中的if __name__ == __main__詳情

    關(guān)于Python中的if __name__ == __main__詳情

    在學(xué)習Python的過程中發(fā)現(xiàn)即使把if __name__ == ‘__main__’ 去掉,程序還是照樣運行。很多小伙伴只知道是這么用的,也沒有深究具體的作用。這篇文字就來介紹一下Python中的if __name__ == ‘__main__’的作用,需要的朋友參考下文
    2021-09-09
  • python如何通過openpyxl讀寫Excel文件

    python如何通過openpyxl讀寫Excel文件

    python操作excel的庫有很多,有的庫只能讀取xsl格式,比如xlrd庫,有的庫只能寫xsl格式,比如xlwt庫,有的只能讀寫xslx格式,比如openpyxl庫,綜合各庫及 xslx 格式比較常見,所以本文主要講解openpyxl庫對xslx格式的excel操作,需要的朋友可以參考下
    2023-10-10
  • python OpenCV的imread不能讀取中文路徑問題及解決

    python OpenCV的imread不能讀取中文路徑問題及解決

    這篇文章主要介紹了python OpenCV的imread不能讀取中文路徑問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • 取numpy數(shù)組的某幾行某幾列方法

    取numpy數(shù)組的某幾行某幾列方法

    下面小編就為大家分享一篇取numpy數(shù)組的某幾行某幾列方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • keras 指定程序在某塊卡上訓(xùn)練實例

    keras 指定程序在某塊卡上訓(xùn)練實例

    這篇文章主要介紹了keras 指定程序在某塊卡上訓(xùn)練實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python實現(xiàn)可設(shè)置持續(xù)運行時間、線程數(shù)及時間間隔的多線程異步post請求功能

    Python實現(xiàn)可設(shè)置持續(xù)運行時間、線程數(shù)及時間間隔的多線程異步post請求功能

    這篇文章主要介紹了Python實現(xiàn)可設(shè)置持續(xù)運行時間、線程數(shù)及時間間隔的多線程異步post請求功能,涉及Python網(wǎng)絡(luò)請求的創(chuàng)建、發(fā)送、響應(yīng)、處理等相關(guān)操作技巧,需要的朋友可以參考下
    2018-01-01
  • Python?庫?PySimpleGUI?制作自動化辦公小軟件的方法

    Python?庫?PySimpleGUI?制作自動化辦公小軟件的方法

    Python?在運維和辦公自動化中扮演著重要的角色,PySimpleGUI?是一款很棒的自動化輔助模塊,讓你更輕松的實現(xiàn)日常任務(wù)的自動化,下面通過本文給大家介紹下Python?庫?PySimpleGUI?制作自動化辦公小軟件的過程,一起看看吧
    2021-12-12
  • 解決tf.keras.models.load_model加載模型報錯問題

    解決tf.keras.models.load_model加載模型報錯問題

    這篇文章主要介紹了解決tf.keras.models.load_model加載模型報錯問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Python更改pip鏡像源的方法示例

    Python更改pip鏡像源的方法示例

    這篇文章主要介紹了Python更改pip鏡像源的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2020-12-12
  • Python實現(xiàn)RabbitMQ6種消息模型的示例代碼

    Python實現(xiàn)RabbitMQ6種消息模型的示例代碼

    這篇文章主要介紹了Python實現(xiàn)RabbitMQ6種消息模型的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2020-03-03

最新評論