第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

定義Python源代碼編碼的正確方法

定義Python源代碼編碼的正確方法

明月笑刀無情 2019-07-09 12:43:06
定義Python源代碼編碼的正確方法定義如何聲明Python源代碼編碼。通常,Python文件的前2行應該以下內(nèi)容開頭:#!/usr/bin/python# -*- coding: <encoding name> -*-但我看過很多文件,開頭是:#!/usr/bin/python# -*- encoding: <encoding name> -*-=> 編碼而不是編碼.那么,聲明文件編碼的正確方式是什么呢?是編碼因為所用的正則表達式是懶惰的?或者它只是聲明文件編碼的另一種形式?我問這個問題是因為PEP沒有提到編碼,它只是在談論編碼.
查看完整描述

3 回答

?
慕妹3242003

TA貢獻1824條經(jīng)驗 獲得超6個贊

檢查文檔這里:

“如果Python腳本的第一行或第二行中的注釋與正則表達式匹配coding[=:]\s*([-\w.]+),此注釋作為編碼聲明處理“

“此表達式的推薦形式如下

# -*- coding: <encoding-name> -*-

也得到GNU Emacs的認可,以及

# vim:fileencoding=<encoding-name>

這是Bram Moolenaar‘s Vim所承認的?!?/trans>

因此,您可以在“編碼”部分之前放置幾乎任何內(nèi)容,但是如果您希望100%的python-docs-推薦兼容,則可以堅持“編碼”(沒有前綴)。

更具體地說,您需要使用Python識別的任何內(nèi)容。以及您使用的特定編輯軟件(如果它需要/接受任何事情)。例如coding表單被GNU Emacs(開箱即用)識別,但Vim不承認(是的,如果沒有一個普遍的協(xié)議,它本質(zhì)上是一個地盤戰(zhàn)).


查看完整回答
反對 回復 2019-07-09
?
隔江千里

TA貢獻1906條經(jīng)驗 獲得超10個贊

第263頁:

第一行或第二行必須匹配正則表達式“編碼[:=]\s*([-\w.]+)”

所以,“恩編碼:utf-8“火柴。

PEP提供了一些例子:

#!/usr/bin/python# vim: set fileencoding=<encoding name> :

 

# This Python file uses the following encoding: utf-8import os, sys


查看完整回答
反對 回復 2019-07-09
?
HUWWW

TA貢獻1874條經(jīng)驗 獲得超12個贊

它本身提到了下面的正則表達式:

要定義源代碼編碼,必須將一個神奇的注釋作為文件中的第一行或第二行放在源文件中,例如:

# coding=<encoding name>

或(使用受歡迎編輯認可的格式):

#!/usr/bin/python# -*- coding: <encoding name> -*-

或:

#!/usr/bin/python# vim: set fileencoding=<encoding name> :

更準確地說,第一行或第二行必須匹配以下正則表達式:

^[ \t\f]*#.*?coding[:=][ \t]*([-_.a-zA-Z0-9]+)

因此,正如其他答案所總結(jié)的,它將匹配coding使用任何前綴,但如果您想盡可能地保持PEP兼容(即使據(jù)我所知,使用encoding而不是coding絲毫不違反PEP 263)-堅持“樸素”coding沒有前綴。


查看完整回答
反對 回復 2019-07-09
  • 3 回答
  • 0 關(guān)注
  • 777 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號