溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python字符編碼、正則、os操作舉例分析

發(fā)布時(shí)間:2021-11-20 15:26:32 來源:億速云 閱讀:227 作者:iii 欄目:編程語言

這篇文章主要介紹“Python字符編碼、正則、os操作舉例分析”,在日常操作中,相信很多人在Python字符編碼、正則、os操作舉例分析問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python字符編碼、正則、os操作舉例分析”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

或許你在碼代碼的過程中經(jīng)常會遇到一下兩個(gè)問題:

1.為什么Python使用過程中會出現(xiàn)各式各樣的亂碼問題,明明是中文字符卻顯示成“/xe4/xb8/xad/xe6/x96/x87”的形式?

2.為什么會報(bào)錯“UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)”?

字符串在Python內(nèi)部的表示是unicode編碼,因此,在做編碼轉(zhuǎn)換時(shí),通常需要以unicode作為中間編碼,即先將其他編碼的字符串解碼(decode)成unicode,再從unicode編碼(encode)成另一種編碼。

decode的作用是將其他編碼的字符串轉(zhuǎn)換成unicode編碼,如str1.decode('gb2312'),表示將gb2312編碼的字符串str1轉(zhuǎn)換成unicode編碼。 encode的作用是將unicode編碼轉(zhuǎn)換成其他編碼的字符串,如str2.encode('gb2312'),表示將unicode編碼的字符串str2轉(zhuǎn)換成gb2312編碼。 因此,轉(zhuǎn)碼的時(shí)候一定要先搞明白,字符串str是什么編碼,然后decode成unicode,然后再encode成其他編碼。

#!/usr/bin/env python
#coding=utf-8
s="中文"
if isinstance(s, unicode):
#s=u"中文"
 print s.encode('gb2312')
else:
#s="中文"
 print s.decode('utf-8').encode('gb2312')

正則過濾emoji

import re
text = '9'
myre = re.compile(ur"[^A-Za-z0-9\s\r\t\n\\u4e00-\\u9fa5\\uff08\\u3008\\u300a\\u300c\\u300e\\ufe43\\u3014\\u2026\\uff5e\\uffe5\\u3010\\uff0c\\uff1f\\uff1a\\u201c\\u2018\\uff09\\u3009\\u300b\\u300d\\u300f\\ufe44\\u3015\\u2014\\ufe4f\\u3001\\u3011\\u3002\\uff01\\uff1b\\u201d\\u2019\[\]\(\){}\|\"\:<>~`!@#$%&*?,./:]")
cleanEmoji = myre.sub(u'[emoji]', text)
print cleanEmoji
// 輸出 9

上面的例子用于存數(shù)據(jù)進(jìn)sqlite3數(shù)據(jù)庫時(shí)將emoji過濾,因?yàn)檎伊撕芫枚紱]找到將emoji存進(jìn)數(shù)據(jù)庫的方法,在其他數(shù)據(jù)庫可以將編碼格式換成utf-8mb4便可以存儲emoji。上面正則的意思是匹配 數(shù)字、字母、中文、中英文的標(biāo)點(diǎn)符號 以外的文本。

os操作

os.path.join(str1,str2) : 用于拼接兩個(gè)文件路徑,在windows下可以補(bǔ)齊\ ,在Linux下自動補(bǔ)齊/ ,這樣可以避免在不同操作系統(tǒng)環(huán)境下路徑不對的坑。os.path.exists(path) : 判斷該路徑是否存在,一般用來判斷文件是否存在os.system : 執(zhí)行終端命令os.remove : 刪除文件os.removedirs : 刪除空的文件夾

# 刪除非空文件夾
import shutil
shutil.rmtree(path)

到此,關(guān)于“Python字符編碼、正則、os操作舉例分析”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI