コードをコピー コードは次のとおりです:
#!/usr/bin/env python
# コーディング: UTF-8
import sys
import os
import chartet
def print_usage():
print ''usage:
change_charset [ファイル|ディレクトリ] [charset] [出力ファイル]n
例:
変更 1.txt utf-8 n1.txt
変更 1.txt utf-8
変更 1。 .txt
'''
def get_charset(s):
return chardet.detect(s)['encoding']
def delete(file_name):
os.remove (file_name)
def change_file_charset(file_name, Output_file_name, charset):
f = open(file_name)
s = f.read()
f.close ()
if file_name == 出力ファイル名 または 出力ファイル名 == "":
Remove(file_name)
old_charset = get_charset(s)
u = s.decode(old_charset)
if Output_file_name == "":
output_file_name = ファイル名
f = open(output_file_name, 'w')
s = u.encode(charset)
f.write( s)
f.close()
def do(file_name, Output_file_name, charset):
if os.path.isdir(file_name):
os 内の項目。 listdir(file_name :
change_file_charset(file_name+"/"+item, "", charset)
OSError を除く、e:
print e
else:
change_file_charset(file_name, Output_file_name, charset)
if __name__ == '__main__':
length = len(sys.argv)
if length == 1:
print_usage()
elif長さ == 2:
do(sys.argv[1], "", "utf-8")
elif 長さ == 3:
do(sys.argv[1], "", sys.argv[2])
elif 長さ == 4:
do(sys.argv[1], sys.argv[3], sys.argv[2])
else:
print_usage()