#coding=utf-8
import os
import io
def alter(file,old_str,new_str):
"""
替换文件中的字符串
:param file:文件名
:param old_str:就字符串
:param new_str:新字符串
:return:
"""
file_data = ""
with io.open(file, "r", encoding="utf-8") as f:
for line in f:
if old_str in line:
line = line.replace(old_str,new_str)
file_data += line
with io.open(file,"w",encoding="utf-8") as f:
f.write(file_data)
#获取目录下的文件
def file_name(file_dir):
for root, dirs, files in os.walk(file_dir):
return (files)
#获取后缀名
def file_extension(file):
return os.path.splitext(file)[1]
file_dir='./'
file_list = file_name(file_dir)
for i in file_list:
if file_extension(i)==".ctl":
alter(i,'ZHS16GBK','AL32UTF8')
今天需要修改很多个表的控制文件,要改一下编码,一个一个太费时,将近400个,用python 10秒即可处理完成。记录一下,以后备用!