日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python读取ini文件编码格式_Python读取txt(.ini)文件BOM问题

發布時間:2024/10/8 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python读取ini文件编码格式_Python读取txt(.ini)文件BOM问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2018-06-13? ?11:20:40

在windows上使用open打開utf-8編碼的txt文件時開頭會有一個多余的字符,它叫BOM,是用來聲明編碼等信息的,但python會把它當作文本解析

解決辦法:open的encoding參數

1.創建config.ini配置文件

[DATABASE]

host= 50.23.190.57username=xxxxxx

password= ******port= 3306database=databasename

[HTTP]#接口的url

baseurl = https://xxxxxxxxx

port= 8080timeout= 1.0[EMAIL]

mail_host= smtp.163.com

mail_user= xxx@163.com

mail_pass= *********mail_port= 25sender= xxx@163.com

receiver= xxxx@qq.com/xxxx@qq.com

subject=python

content= "All interface test has been complited\nplease read the report file about the detile of result in the attachment."testuser=Someone

on_off= 1

2.讀取config.ini配置文件

importosimportcodecsimportconfigparser#獲取當前文件__file__的所在目錄

proDir = os.path.split(os.path.realpath(__file__))[0]#獲取文件 cfg.ini 的地址

configPath = os.path.join(proDir, "config.ini")print(configPath)classReadConfig:def __init__(self):

self.cf=configparser.ConfigParser()

self.cf.read(configPath)defget_email(self, name):

value= self.cf.get("EMAIL", name)returnvaluedefget_http(self,name):

value= self.cf.get("HTTP", name)print(value)returnvaluedefget_db(self, name):

value= self.cf.get("DATABASE", name)return value

運行結果報錯:

在首行添加? ?#coding=gbk,其余代碼均不變

#coding=gbk 固定編碼格式為 gbk

importosimportcodecsimport configparser

運行結果報錯:

用encoding參數讀取文件

#coding=gbk

importosimportcodecsimportconfigparser#獲取當前文件__file__的所在目錄

proDir = os.path.split(os.path.realpath(__file__))[0]#獲取文件 cfg.ini 的地址

configPath = os.path.join(proDir, "config.ini")print(configPath)classReadConfig:def __init__(self):

self.cf=configparser.ConfigParser()

self.cf.read(configPath,encoding='utf-8') #encoding='utf_8_sig'

運行結果成功:

3.utf-8 與 utf-8-sig兩種編碼格式的區別

UTF-8以字節為編碼單元,它的字節順序在所有系統中都是一様的,沒有字節序的問題,也因此它實際上并不需要BOM(“ByteOrder Mark”), 但是UTF-8 with BOM即utf-8-sig需要提供BOM("ByteOrder Mark")

這里我不是很理解,反正在這里無論用那種編碼格式都可以

self.cf.read(configPath,encoding='utf-8') #encoding='utf_8_sig'

#執行zip壓縮命令,將apitest目錄下所有文件打包壓縮

source =[back_dir,back_file]

target_file=target_dir+time.strftime("%Y%m%d%H%M%S")+'.zip'zip_commond="zip -qr \"%s\" \"%s\""%(target_file,''.join(source))print(zip_commond)if os.system(zip_commond)==0:print('Successful backup to',target_file)else:print('Backup Failed')

總結

以上是生活随笔為你收集整理的python读取ini文件编码格式_Python读取txt(.ini)文件BOM问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久成年人视频 | 翔田千里一区二区 | av一本在线 | 一区二区视频网站 | 香蕉视频在线免费看 | 伊人涩涩| 最新网址av| 欧美激情爱爱 | 国产精品人人做人人爽 | 污污视频免费看 | 国产曰肥老太婆无遮挡 | 毛片网站网址 | 中文 日韩 欧美 | 看污网站 | 久久综合色视频 | 午夜精品久久久久久久99 | 久久久久亚洲av成人网人人网站 | 碰碰色| 免费国产高清 | 国产免费无码一区二区视频 | a v免费视频 | 久久综合91 | 黄色免费网站在线观看 | 亚洲激情午夜 | 亚洲黄色激情 | 一起草国产 | 日日干天天操 | 亚洲天堂五码 | 国产稀缺精品盗摄盗拍 | 污视频网站免费在线观看 | 亚洲五级片 | 麻豆视频网页 | 亚洲乱码精品 | 免费网站在线观看视频 | 涩涩av | 色婷婷国产精品综合在线观看 | 91麻豆精品91久久久久同性 | 日韩午夜网站 | 超碰97自拍 | 欧美在线观看不卡 | 亚洲h动漫 | 大胸喷奶水www视频妖精网站 | av福利网| 欧美理论片在线观看 | 五月天婷婷在线观看 | 尤物视频在线播放 | 天堂国产在线 | 久久精品视频无码 | 一级日韩一级欧美 | 一区二区在线 | 五月天狠狠干 | 亚洲网站一区 | 欧美视频一区在线 | 香蕉久久a毛片 | 久久两性视频 | 亚洲成人日韩在线 | 99久久精品免费看 | 午夜激情婷婷 | 日本熟妇乱子伦xxxx | 亚洲三级视频在线观看 | 韩国久久久久久 | 亚洲成人第一区 | 免费看欧美大片 | 少妇一级淫片免费放播放 | 国产视频二区 | 日韩欧美视频免费在线观看 | 夜夜操操操 | 朴银狐电影中文在线看 | 五月婷婷深爱 | 五月激情六月丁香 | 爱福利视频一区二区 | 色吊丝一区二区 | 欧美性大交 | 男女激情久久 | 99碰碰| 大桥未久视频在线观看 | 免费的黄色的网站 | 亚洲成人av免费在线观看 | 国产在线日本 | 亚洲最大在线观看 | 国产男男chinese网站 | jizz在亚洲| 在线中出| 亚洲福利视频网站 | 日日夜夜天天 | 97se亚洲综合 | 国产精品16p | 女人又爽又黄免费女仆 | 亚洲成a人片777777久久 | 免费av网址在线 | 久久9久久 | 中文字幕第80页 | 99精品欧美一区二区三区综合在线 | 人人干人人爱 | 欧美日韩免费一区二区 | 国产激情文学 | 精品成人在线 | 绿帽h啪肉np辣文 | 蜜桃在线一区二区 |