Python處理Windows記事本utf8編碼文件要注意的坑

封面圖片:《Python程序設計基礎(第2版)》,ISBN:9787302490562,董付國,清華大學出版社

圖書詳情:

配套資源:用書教師可以免費獲取教學大綱、教案、課件、源碼、習題答案、課堂管理與考試系統。

中國大學MOOC

https://www.icourse163.org/learn/enroll/CCEC-1449771164

智慧樹網慕課

https://coursehome.zhihuishu.com/courseHome/2071947

===============

Python相關課程教材選用參考與建議

董付國老師Python在線課程資源使用方法

===============

感謝西北師大文玉鋒老師發現並提供這個有意思的問題。

以Win 10爲例,假設當前文件夾中有個ANSI編碼的文本文件data.txt,其中包含若干行文本,每行存放一個整數,例如:

編寫程序讀取其中的每行數字,加5之後輸出,代碼如下:

接下來,使用記事本打開文件data.txt,然後另存爲UTF8編碼格式,

然後修改代碼,使用UTF8編碼格式,代碼出錯,

根據異常信息可以發現,莫名其妙多出來一個字符,\ufeff,然而輸出文件內容時卻又沒有這個符號,例如,

出現這個錯誤的原因在於,Windows系統的記事本程序轉換爲UTF8時,會在文件頭增加BOM(Byte Order Mark),也就是標誌位\ufeff,這個符號使用print()輸出時不可見,使用repr()函數轉換一下,

Windows記事本轉換爲UTF8編碼時加BOM本身並沒有對與錯,但是沒有明確說明就不合適了,還是notepad++人性化一些,明確對不帶BOM的utf8和帶BOM的utf8做了區分,例如,

不管怎麼樣,明白了原因之後,處理就容易了,可以手動刪除這個符號,

或者,改用utf-8-sig編碼格式來讀取內容,

溫馨提示

關注本公衆號“Python小屋”,通過菜單“最新資源”==>“歷史文章”可以快速查看分專題的1000篇技術文章列表(可根據關鍵字在頁面上搜索感興趣的文章),通過“最新資源”==>“微課專區”可以免費觀看500節Python微課,通過“最新資源”==>“培訓動態”可以查看近期Python培訓安排,通過“最新資源”==>“教學資源”可以查看Python教學資源。

---董付國老師Python系列圖書---

友情提示:不建議購買太多,最好先通過京東、噹噹、天貓查閱圖書瞭解目錄和側重點,然後再選擇購買適合自己的書。

(1)《Python程序設計(第2版)》(ISBN:978-7-302-43651-5),清華大學出版社,2016年8月出版,2019年度清華大學出版社暢銷圖書

(2)《Python可以這樣學》(ISBN:978-7-302-45646-9),清華大學出版社,2017年2月

(3)《Python程序設計基礎(第2版)》(ISBN:978-7-302-49056-2)清華大學出版社,2018年1月出版,2019年度清華大學出版社暢銷圖書

(4)《中學生可以這樣學Python》(ISBN:978-7-302-48039-6)清華大學出版社

(5)《Python程序設計開發寶典》(ISBN:978-7-302-47210-0)清華大學出版社,2018年10月

(6)《玩轉Python輕鬆過二級》(ISBN:978-7-302-49916-9)清華大學出版社,2018年5月

(7)《Python程序設計基礎與應用(ISBN:978-7-111-60617-8),機械工業出版社,2018年9月

(8)Python程序設計實驗指導書》(ISBN:9787302525790),清華大學出版社,2019年4月

(9)《Python編程基礎與案例集錦(中學版)(ISBN:978-7-121-35539-4),電子工業出版社,2019年4月

(10)大數據的Python基礎》(ISBN:978-7-111-62455-4),機械工業出版社,預計2019年5月出版

(11)譯作《Python程序設計》,機械工業出版社(華章),2018年11月出版

(12)繁體版《Python也可以這樣學》,臺灣博碩文化股份有限公司,2017年10月出版,本書爲《Python可以這樣學》在臺灣發行的繁體版,兩本書內容一樣,不建議重複購買

(13)《Python程序設計實例教程》(ISBN:978-7-111-63198-9),機械工業出版社

(14)《Python數據分析、挖掘與可視化》(ISBN:978-7-115-52361-7),人民郵電出版社,2019年12月

Python相關課程教材選用參考與建議

董付國老師Python在線課程資源使用方法

董付國老師6本Python教材PDF版免費閱讀

《Python數據分析、挖掘與可視化》前3章書稿PDF免費閱讀

《Python程序設計基礎與應用》前3章書稿PDF免費閱讀

號外號外--Python小屋刷題神器上線啦

《中學生可以這樣學Python》84節微課免費觀看地址

相關閱讀

Python提取Word文檔中所有腳註文本

Python批量提取docx格式Word文檔中所有批註

Python批量提取docx格式Word文檔中所有文本框內的文本

Python讀取docx文檔中所有標題文本

Python合併多個Word文件的4種方法和1種不寫代碼的方法

一文學會Python標準庫struct序列化與反序列化

Python操作PowerPoint文件:批量導入圖片(加強版)

Python讀取並重新組織Excel文件數據案例一則

使用Python把Word文檔轉換爲圖片式不可修改的PDF文件

使用Python合併多張JPG圖片爲一個PDF文件

使用Python合併任意多個PDF文件

Python提取docx文檔中嵌入式圖片和浮動圖片的又一種方法

Python提取docx文檔中所有嵌入式圖片和浮動圖片

Python提取.ipynb文件中的Python代碼保存爲.py文件

Python根據身份證號計算年齡和退休時間並保存Excel文件

Python讀寫Excel文件中指定區域單元格內容

一文230行代碼學會使用Python操作Excel文件

Python操作Word文檔的節屬性和頁眉/頁腳

Python控制Word文件中段落格式與文本格式

Python把PDF文件中每頁內容分離爲獨立圖片文件

Python實現Excel與Word文件中表格數據的導入導出

Python+pandas分離Excel數據到同一個Excel文件中多個Worksheets

使用Python預處理機器學習需要的手寫體數字圖像文件數據集

Python批量修改Word文檔中特定關鍵字的顏色

Python實現中文文檔的簡體與繁體互相轉換

Python操作Excel文件彙總數據案例一則

Python文件操作與matplotlib數據可視化案例一則

Python文件操作的幾個要點與示例

Python統計Excel文件中超市營業額明細數據

Python查找包含指定字符串的所有Office文檔

Python查找包含指定字符串的所有文件

Python提取Word文檔中所有超鏈接地址和文本

Python課程期末考試編程題自動批卷原理與實現模板

使用Python批量提取並保存docx文檔中的圖片

Python篩選Excel文件中超過一定年齡的人員信息

Python批量導入圖片到Word文件

把Python程序的輸出和異常信息自動寫入文件

Python操作Excel文件:插入一列數據

Python使用pandas合併多個Excel文件

Python處理文本文件案例一則

批量統計多個PPTX文件中幻燈片總數量

Python批量轉換ppt文件爲pptx文件

使用Python爲PDF文件批量添加水印的方法及進一步思考

Python使用三種方法批量修改記事本文件編碼格式

Python批量生成垃圾郵件內容

Python批量合併帶有合併單元格的Excel文件

Python文件操作小案例:交替合併兩個記事本文件

Python查找Word文件中紅色和加粗的文字(附元宵節送書活動中獎名單)

使用Python寫入docx文件並控制字體顏色

Python批量提取Word文件題庫中的答案

Python+pywin32批量轉換Word文件爲PDF文件

使用Python獲取Excel文件中單元格公式的計算結果

Python操作Excel文件中多WorkSheet模擬數據庫內連接查詢

使用Python操作PowerPoint文件中的表格

使用Python批量修改PPTX文件中文本框格式

Python批量導入圖片生成能治療頸椎病的HTML5版課件

Python批量導出多個PPT/PPTX文件中每個幻燈片爲獨立JPG圖片

Python批量導入圖片生成PowerPoint 2007+文件

Python批量設置多個Excel文件頁眉頁腳的源碼

Python批量修改Excel文件格式:加粗、顏色交替、漸變背景色填充

Python模擬Linux/Mac OS工具grep和Windows工具findstr

Python使用marshal模塊操作二進制文件

Python操作docx文檔設置居中並創建表格

Python+pickle讀寫二進制文件小案例

Python批量整理文件名小案例(附公衆號第一批贈書活動中獎名單)

Python統計多個Powerpoint文件中幻燈片總數量

Python編寫編程作業批量自動打分程序的思路與實現

詳解Python字符串編碼格式

使用Python讀寫文本文件內容

Python批量提取PDF文件中的文本

Python批量檢查網頁是否被注入其他頁面

Python網頁注入掛馬

幾行Python代碼打造自己的磁盤垃圾文件清理器

使用Python批量隨機化文件名

Python把docx文檔中的題庫導入SQLite數據庫

使用Python判斷文件是否爲PE文件

Python操作高版本Excel文件:顏色、邊框、合併單元格

Python使用模糊哈希值比較文件相似度

Python壓縮新文件到已有ZIP文件

Python生成大量隨機人員信息

Python生成強密碼字典文件

Python破解ZIP或RAR文件密碼

Python打造文件MD5值計算器

Python合併Excel2007+中多個WorkSheet

Python提取docx文檔中例題、插圖、表格清單

Python讀寫CSV格式文件

Python+shelve讀寫二進制文件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章