Python 中文路徑和中文文字檔案亂碼問題

2022-04-29 17:33:08 字數 988 閱讀 8029

情景:

python首先讀取名為log.txt的文字檔案, 其中包含有檔名相對路徑資訊filename.

隨後python呼叫shutil.copy2(src, dst)對該filename檔案進行複製操作.

由於filename為相對路徑資訊, 所以我們需要硬編碼寫入父目錄, 假設為"c:\\源目錄\\", 同時還有目標目錄資訊, 假設為"c:\\目標目錄\\".

**:

import

shutil

defget_file_list(src):

f = open(src, 'r'

) data =

for line in

f.readlines():

if len(line) > 2:

line = line.replace('

\n',''

) line = line.replace('

\r','')'

utf8'))

return

data

defcopy_file_to(ls, src, dst):

for f in

ls: shutil.copy(src + f, dst +f)

if__name__ == '

__main__':

ls = get_file_list(u"

log.txt")

copy_file_to(ls, u

"c:\\源目錄\\

", u"

c:\\目標目錄\\

")

問題:會出現各種編碼出錯, 亂碼.

分析:情境中, 有兩個編碼:

1. log.txt的編碼

2. python指令碼檔案的編碼.

如果這兩個編碼不匹配, 就會出現問題.

解決方案:

使用notepad++將兩個檔案的編碼都改為utf-8 no bom即可.

中文文字糾錯

u4e00 代表什麼意思 u9fa5 代表什麼意思?答 u4e00 u9fa5是用來判斷是不是中文的乙個條件,採用的是unicode編碼 參考website 2020 9 1 最全面,精華 中文糾錯 待看完中文文字拼寫檢查錯誤糾正方案整理 關聯pycorrector 小練習 簡化 import pa...

python 讀取txt中文文字

txt文字的儲存形式有四種ansi,utf 8,unicode,unicode big endian。後面兩種比較少見,說說前面兩種吧。普通的開啟檔案的操作是這樣的 coding utf 8 path u 輸入你的路徑 f open path text f.readlines 當txt檔案為ansi...

python實現中文文字分句

對於英文文字分句比較簡單,只要根據終結符 劃分就好,中文文字分句看似很簡單,但是實現時會遇到很多麻煩,尤其是處理社交 資料時,會遇到文字格式不規範等問題。下面 針對一段一段的短文本組成了文件分句 import re def cut sent infile,outfile cutlineflag 本文...