python 중국어 문자 처리 경험
3216 단어 python
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import sys, os
import md5
destPath = r'h:\ A\ '
srcPath = r'h:\ B\ '
rstPath = r'h:\ C\rst.txt'
#----------------------------------------------------------------------
def find_all_files(path):
'''
'''
print '\r\r'
files = os.listdir(path.decode('utf8'))
fileslist = []
for ff in files:
ffPath = path + '\\' + ff
print ffPath,
if os.path.isfile(ffPath):
fileslist.append(ffPath)
print 'file'
elif os.path.isdir(ffPath):
print 'dir'
fileslist += find_all_files(ffPath)
else:
print 'parse error!', '\t', ffPath
return fileslist
#----------------------------------------------------------------------
def md5_list(path):
'''
'''
filesList = find_all_files(path)
filesMd5 = {}
for ff in filesList:
try:
fp = open(ff, 'rb')
m = md5.md5()
strRead = ""
while True:
strRead = fp.read(8096)
if not strRead:
break
m.update(strRead)
strMd5 = m.hexdigest()
filesMd5[strMd5] = ff
fp.close()
except Exception, ex:
print ex
fp.close()
return filesMd5
if __name__=='__main__':
reload(sys)
sys.setdefaultencoding('utf-8')
print 'Begin.......'
srcFilesMd5 = md5_list(srcPath)
destFilesMd5 = md5_list(destPath)
rst = ''
for key in srcFilesMd5.keys():
if key not in destFilesMd5.keys():
fileName = srcFilesMd5[key]
rst = rst + fileName.encode('utf8') + '\r'
fp = open(rstPath, 'w')
fp.write(rst)
fp.close()
print '
Run Over......'
, , rstPath 。
。 , , decode() encode() 。 , 。
,python ASCII , string ,ASCII 。python unicode, ‘u’ unicode , u'hello' unicode 。
ascii , , unicode 。 :
decode(), unicode , str1.decode('gb2312'), gb2312 str1 unicode ;
encode(), unicode , str2.encode('gb2312'), unicode str2 gb2312 ;
unicode(), decode(), unicode , unicode(str3, 'gb2312'), gb2312 str3 unicode 。
str , decode unicode, encode 。
, unicode , unicode, isinstance(str, unicode)。
, ascii , :
1、 , utf8;
2、 unicode() decode() unicode , str1.decode('utf8'), unicode(str1, 'utf8');
3、 encode() 。
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.