ubuntu更换镜像源及巧妙使用Python脚本解决文件编码问题

一些早期项目,在windows下开发的,到linux下遇到不少编码问题。尤其是在处理大量文本文件时,乱码问题常常让人头疼不已。乱码不仅影响工作效率,还可能导致重要信息丢失。幸运的是,通过编写简单的Python脚本,我们可以轻松地解决文本文件的转码问题,大幅提升工作效率。本文将详细介绍如何使用Python脚本来批量转换文件编码,并提供一个实用的示例脚本。

ubuntu更换镜像源

bash 复制代码
cd /etc/apt/

然后把之前的镜像源复制一份存着,名字可以任意,例如first即可。

sudo cp sources.list cources.list.fisrt

然后继续打开镜像源的相关列表:

sudo vim sources.list

替换以下内容:

bash 复制代码
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
 

然后按 :wq 退出保存即可,最后通过 sudo apt-get upgrade 更新我们的apt即可。

分享一宝藏网站:https://fishros.com/#/fish_home

一、乱码问题概述

乱码问题通常发生在文本文件的编码不一致时。常见的编码有 GBK、UTF-8、UTF-16 等。当一个文件以一种编码方式保存,但在读取时使用了不同的编码方式时,就会出现乱码现象。

二、Python脚本实现文件转码

Python 提供了强大的文件处理功能,可以方便地实现文件的编码转换。下面是一个简单的脚本示例,用于批量转换文件夹中的所有 .txt 文件。

三、示例脚本

python 复制代码
import os

def convert_encoding(file_path, from_encoding='gbk', to_encoding='utf-8'):
    try:
        # 读取文件内容
        with open(file_path, 'r', encoding=from_encoding) as f:
            content = f.read()
        
        # 写入文件内容
        with open(file_path, 'w', encoding=to_encoding) as f:
            f.write(content)
        
        print(f"File {file_path} has been converted from {from_encoding} to {to_encoding}")
    
    except Exception as e:
        print(f"Error converting {file_path}: {e}")

def batch_convert(folder_path, from_encoding='gbk', to_encoding='utf-8'):
    if not os.path.isdir(folder_path):
        print(f"Invalid folder path: {folder_path}")
        return
    
    for root, _, files in os.walk(folder_path):
        for file in files:
            if file.endswith('.txt'):
                file_path = os.path.join(root, file)
                convert_encoding(file_path, from_encoding, to_encoding)

# 使用示例
batch_convert('./your_folder_path')

其他资源

https://blog.csdn.net/u012689588/article/details/16950089

GL/gl.h: No such file or directory # include && cannot find -lGL - 狂奔~ - 博客园

已解决Ubuntu系统下载更新源包时提示 "Failed to fetch"错误-CSDN博客

Qt4.7 升级至 Qt5.3遇到的项目编译不过问题 - 阿青1987 - 博客园

Unity 开发技巧:一键转换脚本编码,从 GB2312 到 UTF-8_unity utf-8-CSDN博客

告别乱码噩梦!一键解决文本转码难题,工作效率翻倍!_文本乱码转码助手-CSDN博客

(转载)Windows 查找占用串口(COM)的进程 - ckrgd - 博客园

鱼香ROS社区

相关推荐
广东航连科技16 分钟前
RFID手持机——物联网时代的核心工具
大数据·运维·网络·数据库·人工智能·物联网·交通物流
lyl00123419 分钟前
【Linux扩容根分区】LVM分区扩容过程踩坑记录
linux·运维·服务器
Sundayday4722 分钟前
tomcat的安装,管理与配置
java·运维·服务器·nginx·tomcat·云计算
匡博16528 分钟前
PyCharm远程连接AutoDL服务器实现程序调试
运维·服务器·python·pycharm
阳光开朗_大男孩儿28 分钟前
阻塞信号(`blockSignals(true)`)的作用
linux·c++·qt·ui
Mr. Sun_30 分钟前
Ubuntu 升级特定软件包
linux·运维·ubuntu
晨欣1 小时前
何为supervisorctl以及我们如何使用它
linux·运维·服务器
小安运维日记1 小时前
Linux云计算 |【第四阶段】NOSQL-DAY3
linux·运维·服务器·redis·云计算·html
Ustinian_3101 小时前
【OpenSSL】OpenSSL 教程
linux·网络·ssl
午与羽1 小时前
Nestjs构建Certeasy证书自动化平台 - 系统部署
运维·docker·pm2