matlab打开.m文件出现乱码问题

matlab打开别人.m文件出现乱码问题,特别是批量的.m文件时可用python更改
一般matlab默认编码为:GBK
或者可以现在MATLAB命令行中输入 feature(‘locale’) 来查看MATLAB的编码方式,如图2所示,MATLAB默认编码方式为GBK。
在这里插入图片描述
采用递归方式将路径下面的所有文件,从原来的格式变为GBK的格式,python版本3.x。本文只转换.m文件,但是方法使用于各种类型文件。

import os
import codecs
import chardet


#对该文件夹下包括子文件夹的所有文件进行遍历
path_in = r'D:\**'
#需要转换成GBK编码
codec_out = 'GBK'
for home, dirs, files in os.walk(path_in):
    for filename in files:
        #只转换matlab脚本文件
        if filename.endswith('.m'):
            #home为文件所在文件夹的路径,filename为文件名
            file = os.path.join(home, filename)

            #检测文件原来的编码格式
            with open(file, "rb") as f_in:
                data = f_in.read()
                codec_in = chardet.detect(data)['encoding']

            #将文件旧编码格式转换为UTF-8,并写入原文件完成替换
            try:
                with codecs.open(file, 'r', codec_in) as f_in:
                    new_data = f_in.read()
                    f_out = codecs.open(file, 'w', codec_out)
                    f_out.write(new_data)
                    f_out.close()
            except IOError as err:
                print("I/O error: {0}".format(err))



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值