python中檔案不知道編碼格式時的讀寫

2021-09-25 18:18:17 字數 1188 閱讀 7699

# -*- coding: utf-8 -*-

import codecs

1、python2.7中開啟檔案時open()不能指定編碼方式,可用codecs

2、windows下登錄檔的編碼格式為ucs-2 le bom , 對應python中的uft-16

3、如果不確定編碼格式,可以在errors='ignore',將可以解碼的部分解出

def read(path,encoding):

if encoding=='':

encoding='uft-8'

# //ucs2可以認為是utf-16

with open(path, 'r', encoding=encoding,errors='ignore') as file:

str = file.read()

return str

# python3

# 以讀入檔案為例:

# f = open(path, "rb") # 二進位制格式讀檔案

# i = 0

# while true:

# i += 1

# print(i)

# line = f.readline()

# if not line:

# break

# else:

# try:

# # print(line)

# # print(line.decode('utf8'))

# line.decode('utf8',errors='ignore')

# print(line)

# # 為了暴露出錯誤,最好此處不print

# except:

# print(str(line))

def write(path,str,encoding):

if encoding=='':

encoding='uft-8'

with open(path, 'r+',encoding=encoding) as file:

file.write(str)

python你不知道的列表

python 的列表可以包含多種資料型別,字串,整形,浮點型以及物件等 list 先建立乙個列表 list 2 extend list list extend a,b,c,c extend 可新增多個資料,也只能新增到列表末尾 3 insert 向列表的指定位置新增資料 list list inse...

關於python開啟檔案你所不知道的

python開啟檔案是否為動態獲取檔案的內容?什麼意思呢?就是我寫乙個程式,開啟乙個檔案,一直對他迴圈讀取,我在另乙個程式,開啟這個檔案,以a的模式追加內容,那麼第乙個程式是否能讀取到第二個程式追加的內容呢?還是說第一次讀取的檔案 僅僅是一開始讀到的內容呢。建設乙個file檔案,內容就為吧lqwzs...

如何開啟不知道檔案型別的檔案

大家有可能會經常碰到一些無副檔名的檔案須要開啟,卻不知道從何下手,怎麼辦呢?這些檔案可能是其字尾名被刪除了,或者只能用專門程式開啟 如outlook的 收件箱.dbx 但這些程式被損壞了,是不是沒有辦法了?其實這類問題完全可以用記事本 強行 開啟。比如用記事本以 為型別開啟乙個沒有字尾名的檔案,在一...