首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >学习笔记 | 如何转换文本文件的编码格式

学习笔记 | 如何转换文本文件的编码格式

作者头像
用户11172986
发布2024-08-21 08:33:42
发布2024-08-21 08:33:42
5870
举报
文章被收录于专栏:气python风雨气python风雨

学习笔记 | 如何转换文本文件的编码格式

前言

游戏不打先,还要写代码

当我将本地写好的 python 代码上传到服务器,准备运行时给我报错编码不对

令人忍不住大喊一声气死偶咧

原因查明为我代码的编码是 GBK,LINUX 服务器要求的是 UTF-8

那么除了重写一份代码,还有其他选择吗

python 代码转换编码

首先,我们需要一个可以读取和写入不同编码格式的函数。这里使用 Python 内置的 open 函数,它允许我们指定文件打开的模式以及编码格式。 其次,调用 sys 的 argv 进行传递参数方便直接使用脚本

代码语言:javascript
复制
import sys
import codecs

def convert_encoding(input_filename, output_filename, from_encoding, to_encoding):
    with codecs.open(input_filename, 'r', from_encoding) as input_file:
        with codecs.open(output_filename, 'w', to_encoding) as output_file:
            output_file.write(input_file.read())

if __name__ == "__main__":
    if len(sys.argv) != 5:
        print("Usage: python convert_encoding.py <input_file> <output_file> <from_encoding> <to_encoding>")
        sys.exit(1)

    input_filename = sys.argv[1]
    output_filename = sys.argv[2]
    from_encoding = sys.argv[3]
    to_encoding = sys.argv[4]

    convert_encoding(input_filename, output_filename, from_encoding, to_encoding)

使用方式如下

代码语言:javascript
复制
!python convert_encoding.py abc.py abc_utf8.py gbk utf-8

linux 命令语句

在类 Unix 系统(如 Linux 或 macOS)中,你可以使用 iconv 命令行工具来转换文件的编码。iconv 是一个非常强大的工具,可以用来转换各种文件编码。

代码语言:javascript
复制
!iconv -f GBK -t UTF-8 input_file.gbk > output_file.utf8

小结

通过 Python 或 Linux 命令行工具,我们可以轻松地解决由编码格式不一致带来的问题。无论是批量转换还是单个文件处理,掌握这些技巧都能帮助我们避免编码带来的困扰,让我们的代码在任何平台上都能顺利运行。 当然我更推荐 linux 的命令,更加简单

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-08-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 气python风雨 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 学习笔记 | 如何转换文本文件的编码格式
    • 前言
    • python 代码转换编码
    • linux 命令语句
    • 小结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档