当前位置: 首页 > news >正文

个人建网站成本十大室内设计网站

个人建网站成本,十大室内设计网站,娱乐建网站,专业定制网架在工作中碰到了一个问题,需要将原来用matlab gui做出来的程序改为python程序,因为涉及到很多文件,所以在网上搜了搜有没有直接能转化的库。参考了【Matlab】一键Matlab代码转python代码详细教程_matlab2python-CSDN博客 这位博主提到的matla…

在工作中碰到了一个问题,需要将原来用matlab gui做出来的程序改为python程序,因为涉及到很多文件,所以在网上搜了搜有没有直接能转化的库。参考了【Matlab】一键Matlab代码转python代码详细教程_matlab2python-CSDN博客  这位博主提到的matlab2python工具,因为工具只能转换单个.m文件,对我这种需要批量转化一百多个文件的及其不友好,而且原来的注释里有中文,所以还需要把代码转为UTF-8格式。

1. matlab2python工具 下载

git clone https://github.com/ebranlard/matlab2python
cd matlab2python
pip install -r requirements.txt

如果实在翻不了墙的朋友,我看csdn下载资源里也能直接下载。下载了文件夹,按照上面的步骤把requirements.txt里的库装一下就好了。

2. 批量将.m转为.py

下面这个代码利用 subprocess 模块来执行

python matlab2python.py [m_file] -o [py_file]

完整代码:

import os
import subprocessdef convert_m_files_to_py(source_folder, destination_folder, converter_script):"""遍历 source_folder 中的所有 .m 文件,使用 matlab2python.py 转换为 .py 文件,输出到 destination_folder。参数:- source_folder: 包含 .m 文件的文件夹路径- destination_folder: 转换后 .py 文件的输出文件夹- converter_script: matlab2python.py 脚本的路径"""# 确保目标文件夹存在if not os.path.exists(destination_folder):os.makedirs(destination_folder)# 遍历源文件夹中的所有文件for filename in os.listdir(source_folder):# 检查文件是否为 .m 文件if filename.endswith('.m'):m_file_path = os.path.join(source_folder, filename)py_file_name = filename.replace('.m', '.py')py_file_path = os.path.join(destination_folder, py_file_name)# 调用 matlab2python.py 转换文件command = f'python {converter_script} "{m_file_path}" -o "{py_file_path}"'print(f'正在转换: {m_file_path} -> {py_file_path}')# 执行命令try:subprocess.run(command, shell=True, check=True)except subprocess.CalledProcessError as e:print(f"文件 {filename} 转换时出错: {e}")if __name__ == "__main__":source_folder = r"F:\"  # 存放 .m 文件的文件夹路径destination_folder = r"F:\"  # 输出 .py 文件的文件夹路径converter_script = r"F:\matlab2python.py"  # matlab2python.py 文件的路径# 调用函数进行批量转换convert_m_files_to_py(source_folder, destination_folder, converter_script)

记得把这里文件夹路径改成自己的路径:

source_folder = r"F:\"  # 存放 .m 文件的文件夹路径
destination_folder = r"F:\"  # 输出 .py 文件的文件夹路径
converter_script = r"F:\matlab2python.py"  # matlab2python.py 文件的路径

3.批量将.py文件格式改为UTF-8

上面的代码运行下来会出现一个问题:

原来.m文件里的中文会出现乱码,这时候需要把文件统一转为UTF-8格式,因为不确定原来的代码是什么格式,所以这里我用了chardet 库来检测文件的原始编码,然后进行UTF-8转换。

先下载chardet

pip install chardet

然后完整代码:

import os
import chardetdef detect_file_encoding(file_path):"""检测文件的编码:param file_path: 文件路径:return: 文件的编码格式"""with open(file_path, 'rb') as f:raw_data = f.read()result = chardet.detect(raw_data)return result['encoding']def convert_to_utf8(file_path):"""将文件转换为 UTF-8 编码:param file_path: 需要转换的文件路径"""try:# 检测文件的原始编码original_encoding = detect_file_encoding(file_path)if original_encoding is None:print(f"无法检测文件 {file_path} 的编码")return# 读取文件内容,使用检测到的编码with open(file_path, 'r', encoding=original_encoding, errors='ignore') as f:content = f.read()# 将内容重新保存为 UTF-8 编码with open(file_path, 'w', encoding='utf-8') as f:f.write(content)print(f"文件 {file_path} 已成功从 {original_encoding} 转换为 UTF-8 编码")except Exception as e:print(f"文件 {file_path} 转换失败: {e}")def convert_folder_to_utf8(folder_path):"""遍历文件夹并将所有 .py 文件转换为 UTF-8 编码:param folder_path: 需要转换的文件夹路径"""for root, _, files in os.walk(folder_path):for file in files:if file.endswith('.py'):file_path = os.path.join(root, file)convert_to_utf8(file_path)if __name__ == "__main__":folder_path = r"F:\"  # 指定需要转换的文件夹路径convert_folder_to_utf8(folder_path)

记得把这里的路径改成你需要批量处理的文件夹路径

folder_path = r"F:\"  # 指定需要转换的文件夹路径

 转换成功后再打开文件:

完成,撒花*★,°*:.☆( ̄▽ ̄)/$:*.°★* 。希望能帮上和我一样需求的朋友吧,这一天天的各种代码来回转真麻烦,能省点事是一点。

http://www.yidumall.com/news/41517.html

相关文章:

  • 做家乡网站免费的电脑优化软件
  • 做网站现在用什么语言关键词全网搜索
  • 创建平台网站下载医院网站建设方案
  • 怎样学网站建设代运营电商公司排行榜
  • 官网建站哪个程序最好网站优化推广招聘
  • 做网站用python好吗制作一个网站的全过程
  • 百度站长电脑版刷神马关键字排名软件
  • 北京网站建设seo西安seo教程
  • 北京 网站建设托管公司免费数据分析网站
  • 做网站的结论和心得全网网站快速排名推广软件
  • 网页设计分享网站360免费建站网页链接
  • 莱芜公交网站网络广告发布
  • 色调网站友情链接有什么用
  • 中山企业网站建设定制网络卖货平台有哪些
  • 南通模板网建站软文推广广告
  • 安庆 做网站内容营销策略
  • html网站地图生成抖音seo怎么做的
  • 有哪些做实验的参考网站常州网站建设优化
  • 中小学学校网站建设营销推广ppt
  • 深圳网站维护公司南通seo网站优化软件
  • 做电商网站有什么用2345网址导航下载桌面
  • 网站建设合同谷歌收录提交入口
  • 上海网站建设 知名做百度搜索排名靠前
  • 建设网站的目标和作用做推广网络
  • 来年做哪个网站致富百度联系方式人工客服
  • 虎门今天新增疫情搜索引擎优化效果
  • 美食网站开发现状seo优化网络公司
  • 网站联动是什么意思海洋网络推广效果
  • 网站变exe文件怎么做营销网站优化推广
  • web网站如何用div做日历客户管理软件