GBK文件批量转UTF-8,python脚本

import os
import codecsdef convert_encoding(file_path):try:# 尝试以gb18030编码打开文件并读取内容with codecs.open(file_path, 'r', 'gb18030') as f:content = f.read()except UnicodeDecodeError:# 如果出现解码错误,尝试使用utf-8编码打开文件with codecs.open(file_path, 'r', 'utf-8') as f:content = f.read()# 将内容以UTF-8编码写入新文件with codecs.open(file_path, 'w', 'utf-8') as f:f.write(content)print(f'转换完成:{file_path}')def batch_convert(root_dir):# 遍历root_dir目录及其子目录下所有文件for root, dirs, files in os.walk(root_dir):for file in files:if file.endswith('.c') or file.endswith('.h'):# 生成文件的完整路径file_path = os.path.join(root, file)# 转换文件编码convert_encoding(file_path)# 在当前目录及其子目录中批量转换文件编码
batch_convert('.')

放到当前文件内,子文件批量转换>

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/589082.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构与算法】二叉搜索树和平衡二叉树

二叉搜索树 左子树的结点都比当前结点小,右子树的结点都比当前结点大。 构造二叉搜索树: let arr [3, 4, 7, 5, 2]function Node(value) {this.value valuethis.left nullthis.right null }/*** 添加结点* param root 当前结点* param num 新的结…

SpringBoot 登录认证(二)Cookie与Sesstion

SpringBoot 登录认证(一)-CSDN博客 SpringBoot 登录认证(二)-CSDN博客 SpringBoot登录校验(三)-CSDN博客 HTTP是无状态协议 HTTP协议是无状态协议。什么又是无状态的协议? 所谓无状态&…

有Digicert免费证书吗

说到Digiert证书,DigiCert 是美国CA认证可信,提供了很过十年的SSL证书和SSL管理工具。与其他CA不同,DigiCert 完全专注于SSL的创新,提供完整系列的SSL证书、工具和管理平台。它是名副其实的行业单位。 “DigiCert”是这个行业中根…

【JS】打乱数组顺序,用作领域:随机播放音乐

思路 循环数组随机获取数组下标取值: 取当前随机下标数组取当前循环的下标数组 相互替换步骤3的数组 /*** 随机数组顺序* param {Array} arr 数组* returns Array*/ const shufArr arr > {for (let i arr.length - 1; i > 0; i--) {const j Math.floor(M…

Postman和Python Request测试多行Form-data

1、请求参数有多个,F12查看请求体如下: 查看源代码: ------WebKitFormBoundaryHknGXm9VkhRUXZYC Content-Disposition: form-data; name"custId"IICON004 ------WebKitFormBoundaryHknGXm9VkhRUXZYC Content-Disposition: form-da…

企业邮箱给谷歌Gmail报错550-5.7.25解决方案

企业邮箱给谷歌Gmail报错550-5.7.25解决方案 问题表现 今天接到同事报告企业邮箱发送报错的问题,具体问题表现如下: 我司内部邮箱 xxXXX.com 邮箱给国内的163和新浪和企业内部发送邮件可以成功给Hotmail发送邮件,成功。给Gmail发送邮件&am…

IoT数采平台1:开篇

IoT数采平台1:开篇IoT数采平台2:文档IoT数采平台3:功能IoT数采平台4:测试 【功能概述】 开箱即用; 向下接入不同设备(PLC / 采集网关 / OPC / TCP设备 / UDP设备 / HTTP接入),向上通过MQTT发布消息; 数采底层基于NET CORE,既支持P…

Unity与CocosCreator对比学习一

一、屏幕分辨率 1.在creator中设置分辨率 1)打开对应场景; 2)选中【层级管理器】中的Canvas节点; 3)修改【属性检察器】中Canvas组建的属性即可; 2.在Unity中设置屏幕分辨率 1)切换到【Game视…

Python学习笔记-Flask接收post请求数据并存储数据库

1.引包 from flask import Flask, request, jsonify from flask_sqlalchemy import SQLAlchemy 2.配置连接,替换为自己的MySQL 数据库的实际用户名、密码和数据库名 app Flask(__name__) #创建应用实列 app.config[SQLALCHEMY_DATABASE_URI] mysqlpymysql://ro…

麒麟Linux安装教程(超详细)

公司要进行信息国产化,要用国产操作系统。公司下载了麒麟Linux,先安装试一下。 和大多数的Linux发行版差不多,支持直接试用而不安装,肯定是要安装的,所有直接选择了第二项“安装银河麒麟操作系统”。 安装主界面logo …

上网行为管理系统推荐,上网行为审计软件推荐

上网行为管理是指帮助互联网用户控制和管理对互联网的使用。它涵盖了多个方面,包括网页访问过滤、上网隐私保护、网络应用控制、带宽流量管理、信息收发审计、用户行为分析等。 上网行为管理产品系列适用于需要实施内容审计与行为监控、行为管理的网络环境&#xf…

弱电工程有哪些系统?一站式解决方案

随着科技的不断进步,现代建筑不仅仅是砖石和水泥的堆砌,它们已经转化为拥有高度智能化的复杂结构。在这些建筑的核心,弱电工程扮演着至关重要的角色。今天,我们将深入探讨弱电工程的各个组成部分以提供的解决方案。 弱电工程涵盖…