刚接到一个需求是要取出所有i18n文件下的en,zh文件,所涉及的文件目录比较多复制太浪费时间了,所以自己写了一个小方法,以下是代码:
path = 'C:/Users/ywx547757/Desktop/bug-code/cpts_console_ui/cpts2.0/src'
fs = open("D:\yuan\py/test-zh.txt","w" ,encoding='utf-8')# 读写文件
for root, dirs, files in os.walk(path, topdown=False): #列出文件夹下所有的zi目录与文件
if "i18n" in root:#找出指定目录下的特定文件夹
for v in files:
if "zh"in v:#特定文件
path=root+"/"+v
file_content = open(path, "r", encoding='utf-8').read()
# print(file_content)
fs.write(file_content)
英文可以正常读写,但是中文遇见一下问题:
很多说是编码格式问题,但是都不适合我,最后找到问题根源:
是python的print()方法的问题。在python中, print()方法在Win7的默认编码是gbk,它在打印时,并不是所有的字符都支持的。
把print那句删掉之后就可以正常读写了