python中open,io.open和codecs.open的使用——TypeError:'encoding' is an invalid keyword argument
問題描述:
python開啟檔案最簡單的方法:f = open('test.txt', 'r')
但有時候我們要指定編碼方式,例如 f=open('test.txt', 'r', encoding='utf-8'),如果是python3則沒有問題,但如果是python2,則會報錯:TypeError: 'encoding' is an invalid keyword argument for this function.
原因:
Python 2的open
實際上是file
模組提供的,而Python 3的open
是io模組提供的。然後,Python 2.6引入了這個Python 3的特性,叫做io.open
open
相區分。
解決方法:
在python2下要指定編碼方式開啟檔案,最好引入codecs,因為io.open有時候也會有一些奇怪的問題。
為了程式碼魯棒性,建議在open開啟檔案時,統一引入codecs,使用codecs.open().
相關推薦
python中open,io.open和codecs.open的使用——TypeError:39;encoding39; is an invalid keyword argument
問題描述: python開啟檔案最簡單的方法:f = open('test.txt', 'r') 但有時候我們要指定編碼方式,例如 f=open('test.txt', 'r', encoding='utf-8'),如果是python3則沒有問題,但如果是python2,則會報錯:TypeE
python 2.7版本解決TypeError: 'encoding' is an invalid keyword argument for this function
今天在用yaml處理資料時,由於yaml.load可接收一個byte字串,unicode字串,開啟的二進位制檔案或文字檔案物件,但位元組字串和檔案必須是utf-8,utf-16-be或utf-16-le編碼的。因此讀取資料的時候用了 data_file = open("F:\\MyPro\\data.yaml
python+opencv+PIL,在圖片和視訊中寫入中文(漢字)
原部落格地址:https://blog.csdn.net/wyx100/article/details/80412101 效果 程式碼 #!/usr/bin/env python # -*- coding: utf-8 -*- from PIL import Ima
python中關於if的用法以及with open的方法
採用if判斷語句時,只要後面不是False 和none以及0和空資料,都是正常執行後面的程式碼。 eg:(ubuntu terminal) ipython 1.if True: print(“a”) a 2.if False: print(“a”) 3.if 10 == 1 :
國外資深程式設計師的Python中類,靜態和抽象方法的權威總結
Python中方法的工作方式 方法是儲存在類屬性中的函式,你可以用下面這種方式宣告和訪問一個函式 >>> class Pizza(object): ... def __init__(self, size): ...
Python中開啟檔案的方式(With open)
python檔案讀寫檔案是最常見的IO操作。Python內建了讀寫檔案的函式,用法和C是相容的。 讀寫檔案前,我們先必須瞭解一下,在磁碟上讀寫檔案的功能都是由作業系統提供的,現代作業系統不允許普通的程式直接操作磁碟。 讀寫檔案就是請求作業系統開啟一個檔
使用python中的socket實現伺服器和客戶端,並完成圖片的傳輸
socket伺服器程式碼:import socket import os sk=socket.socket() print(sk) address=('127.0.0.1',8000) sk.bind(address) #將本地地址與一個socket繫結在一起sk.listen(3)
使用python中的socket實現伺服器和客戶端,並完成圖片的傳輸。
socket伺服器程式碼:import socket import os sk=socket.socket() print(sk) address=('127.0.0.1',8000) sk.bind(address) #將本地地址與一個socket繫結在一起 sk.
python中列表,元祖,字典,集合區別和使用方法
列表是方括號 [],元組是圓括號 (),字典是花括號 {}。 列表:可重複,型別可相同可不同,有序 ,用[]表示,用逗號分隔 索引: n = 0,1,2....-1 list [n] 新增:1. 在末尾新增 list.append ( ' new ' )
python基礎--異常,對象和叠代器
代碼 error: cto not 中一 val tex .cn data- 異常處理 面向對象 叠代器和生成器 python異常處理 下面代碼觸發了一個FileNotFoundError >>> open("notexist
Python中對象的引用和共享引用
col 即使 列表 標簽 同一性 例子 垃圾回收 是否 垃圾 在Python中先創建一個對象,然後再將變量指向所創建的對象。 對於每個對象,都有一個頭部信息,在信息中就標記了這個對象的類型信息。每當一個變量名被賦予了一個新的對象,之前那個對象占用的空間就回被回收(如果此時這
Python中while,for循環及文件操作,函數,模塊等操作
文件操作 rand 提示 don close choice line 轉發 字典 此內容本人原創,拒絕商業用途及他人轉發,嚴厲打擊有以上行為,發現後追究法律責任。print內調用變量 >> print "tom is %d,jerry is %d&q
SSM-MyBatis-05:Mybatis中別名,sql片段和模糊查詢加getMapper
接口 過程 ase exce bat -c 多次 nts log ------------吾亦無他,唯手熟爾,謙卑若愚,好學若饑------------- 簡單概述一下本講 別名,sql片段簡單寫一下,模糊查詢多寫一點 一。別名 <typeAliases&
python 中and,or計算規則
不為 pytho 真的 pos clas 第一個 表達 返回 表達式 and :如果表達式都不為假,則返回最後一個表達式的值,如果為假返回第一個表達式為假的值。(遇到假的表達式就返回此表達式的值) or :如果都為假,,返回最後一個假表達式的值,如果有真,則返回第一個真的值
python中的list()函數和tuple()函數
nbsp tro trac post span RR ive traceback strong tuple函數:將一個序列作為參數,並把它轉化為元組,如果參數是元組,將會原樣返回: >>> tuple([1,2,3]) (1, 2, 3) >>
在Python中使用aws的sns和sqs
github scribe bsp 情況下 分布式 int 方法 test devel 首先,sns = Simple Notification Service,sqs = Simple Queue Service sns與sqs有什麽不同? (ref:https://st
python中常用的文件和目錄操作(二)
工作目錄 environ win works ID ksh sys remove -s OS模塊 一. 概述 python os模塊提供了非常豐富的方法用來處理文件和目錄 二. 導入:import os 三. 常用方法 1. os.name 輸出字符串表示正在使用的平臺,如
python中字典,元組,集合
luchangshan5200python中的字典,元組,集合 -dict -tuple -set dict 字典增刪改查 字典創建 my_dict = {‘a‘:1,‘b‘:2} my_dict {‘a‘: 1, ‘b‘: 2} de8ug = {‘name‘:‘de8ug‘, ‘city
python中的print(x, end=)和print(x, sep=)
拼接 \n 打印 code 默認打印 輸出 col clas range print(x, end=) for i in range(10): print(i) 輸出結果: 0 1 2 3 4 5 6 7 8 9 for i in range(10):
python中列表,字典等必須要註意的事項
col mos 輸出 lin 存儲 int file for projects 1.python中的列表不能夠遍歷刪除 1 #python列表我們不能夠遍歷刪除 2 li = [1, 2, 3, 4, 5, 6] 3 for i in range(len(li)):