iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >如何使用Python批量对文本文件编码互转
  • 581
分享到

如何使用Python批量对文本文件编码互转

2023-07-05 16:07:26 581人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

本文小编为大家详细介绍“如何使用python批量对文本文件编码互转”,内容详细,步骤清晰,细节处理妥当,希望这篇“如何使用Python批量对文本文件编码互转”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。在wind

本文小编为大家详细介绍“如何使用python批量对文本文件编码互转”,内容详细,步骤清晰,细节处理妥当,希望这篇“如何使用Python批量对文本文件编码互转”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

windows下写C语言默认是GB2312,放到linux上就会乱码,因为Linux和MacOS默认是UTF-8,因此写了个Python小脚本对指定路径下的文件进行转换。

from sys import argvimport osfrom chardet import detectfrom codecs import lookupCONFIG_FILE = '.any2any'DEFAULT_CONFIG = '''.c.h.cpp.hpp.hxx.cc.cxx.C.c++.m.cs.rs.java.kt.PHP.pm.pl.py.sh.Go.xml.htm.html.CSS.js.jsx.Vue.txt.csv'''if os.path.exists(CONFIG_FILE):    with open(CONFIG_FILE, 'r') as config_file:        file_extension = tuple(config_file.read().split())else:    file_extension = tuple(DEFAULT_CONFIG.split())print(f"将转换 {' '.join(list(file_extension))}")def bytes_encoding(b: bytes, length: int = 1024) -> str:    '''    返回探测到的编码格式    '''    return detect(b[:length])['encoding']def any2any(b: bytes, encoding: str) -> bytes:    '''    任意编码字节转换为任意编码字节    探测输入的字节编码格式,转换为指定编码,并返回对应字节    '''    file_encoding = bytes_encoding(b)    if file_encoding == encoding:        return b    return lookup(encoding).encode(lookup(file_encoding).decode(b)[0])[0]def allfileset(path: str = '.', filepathset: set = set()) -> set:    '''    递归路径下所有文件,返回绝对路径集合    '''    if os.path.isdir(path):        for item in os.listdir(path):            filepath = os.path.join(path, item)            if os.path.isfile(filepath):                filepathset.add(os.path.abspath(filepath))            else:                allfileset(filepath, filepathset)    else:        filepathset.add(os.path.abspath(path))    return filepathsetdef is_valid_inputs() -> bool:    '''    检查参数是否输入正确    '''    return len(argv) > 1 and all(map(os.path.exists, argv[1:]))def is_valid_encoding(encoding: str) -> bool:    '''    检查是否存在指定编码    '''    try:        lookup(encoding)        return True    except:        return Falsedef choice_encoding() -> str:    choice = input('''!!!在转换前注意备份文件!!!要转换到什么编码?1. GB18030(Windows下常用,C语言不会乱码)2. UTF-8(非Windows下通用,例如Linux和macOS)3. 其他> ''')    if choice == '1':        return 'GB18030'    elif choice == '2':        return 'UTF-8'    elif choice == '3':        choice = input('输入你想转换到的编码:')        while not is_valid_encoding(choice):            choice = input('不存在该编码,重新输入:')        return choice    else:        print('不做任何操作')        exit()def main():    if is_valid_inputs():        encoding = choice_encoding()        filepathset = set()        for path in argv[1:]:            filepathset.uNIOn(filter(lambda s: s.endswith(file_extension), allfileset(path, filepathset)))        if filepathset:            for path in filepathset:                with open(path, 'rb') as f:                    filebytes = any2any(f.read(), encoding)                with open(path, 'wb') as f:                    f.write(filebytes)                print(f'{path} 已转换到 {encoding}')            print('转换已完成')        else:            print('没有任何可以转换的文件,请检查程序下是否有.any2any配置文件,用空格或换行间隔要转换的文件类型,例如 .c .cpp .cs')    else:        print("未收到任何要转换的文件或文件夹路径,或参数错误,请把要转换的文件或文件夹拖动到程序上。")if __name__ == "__main__":    try:        main()    finally:        input('按任意键退出...')

可以使用pyinstaller打包成可执行文件,带着走或者分享给其他人用

安装pyinstaller

conda install pyinstaller

打包Python文件,其中-i参数可以给.exe文件加上图标,-F参数指定要打包的脚本

pyinstaller -i icon.ico -F any2any.py

最后打包好的可执行文件在dict路径下。

读到这里,这篇“如何使用Python批量对文本文件编码互转”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网Python频道。

--结束END--

本文标题: 如何使用Python批量对文本文件编码互转

本文链接: https://www.lsjlt.com/news/353269.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用Python批量对文本文件编码互转
    本文小编为大家详细介绍“如何使用Python批量对文本文件编码互转”,内容详细,步骤清晰,细节处理妥当,希望这篇“如何使用Python批量对文本文件编码互转”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。在Wind...
    99+
    2023-07-05
  • 使用Python批量对文本文件编码互转的方法
    在Windows下写C语言默认是GB2312,放到Linux上就会乱码,因为Linux和MacOS默认是UTF-8,因此写了个Python小脚本对指定路径下的文件进行转换。 from...
    99+
    2023-03-24
    Python批量转换文本文件编码 Python文本文件编码
  • 如何使用python批量修改文本文件编码格式
    使用python批量修改文本文件编码格式 把文本文件的编码格式进行批量幻化,比如ascii, gb2312, utf8等,相互转化,字符集的大小来看,utf8>gb2312&g...
    99+
    2023-03-24
    python批量修改文本文件编码格式 python批量修改文件编码
  • Python如何实现自动识别并批量转换文本文件编码
    这篇“Python如何实现自动识别并批量转换文本文件编码”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python如何实现自...
    99+
    2023-07-05
  • Python实现自动识别并批量转换文本文件编码
    目录代码用法如题,很简单,就是先用chardet 库识别文件编码,解码之后再输出成目标编码。算是个偶尔能用上的小工具,要用的时候万一没有就很难受的那种,比如,网上下载了别人的项目文件...
    99+
    2023-03-20
    Python转换文本文件编码 Python转换文件编码 Python 转换文本
  • 怎么使用python批量修改文本文件编码格式
    今天小编给大家分享一下怎么使用python批量修改文本文件编码格式的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。使用pyth...
    99+
    2023-07-05
  • vbs脚本怎么实现批量转换文件编码
    这篇文章主要介绍“vbs脚本怎么实现批量转换文件编码”,在日常操作中,相信很多人在vbs脚本怎么实现批量转换文件编码问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vbs脚本怎么实现批量转换文件编码”的疑惑有所...
    99+
    2023-06-08
  • 批量转换目录下文件编码的shell脚本代码
    一例批量转换目录下文件编码的shell脚本代码。 需求描述:由于从window转linux过来,很多原来win下的gbk文件需要转换成utf8。 以下脚本仅判断非utf8文件转换成utf8文件,并且默认非u...
    99+
    2022-06-04
    脚本 批量转换 代码
  • 如何实现批量转换目录下文件编码的shell脚本
    这篇文章将为大家详细讲解有关如何实现批量转换目录下文件编码的shell脚本,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一例批量转换目录下文件编码的shell脚本代码。需求描述:由于从window转lin...
    99+
    2023-06-09
  • 使用iconv批量改变文件编码的shell脚本分享
    这篇文章主要介绍“使用iconv批量改变文件编码的shell脚本分享”,在日常操作中,相信很多人在使用iconv批量改变文件编码的shell脚本分享问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”使用iconv...
    99+
    2023-06-09
  • shell脚本中使用iconv实现批量文件转码的代码分享
    在开发中,我们经常需要对N多文件编码进行更改,iconv只能对单文件的进行更改,怎么办呢?我们写一个shell脚本来解决这个问题。 例子一:使用shell脚本实现批量转码的操作。 #!/bin/sh ...
    99+
    2022-06-04
    批量 脚本 代码
  • 如何利用Python代码批量将PDF文件转为Word格式
    本篇文章给大家分享的是有关如何利用Python代码批量将PDF文件转为Word格式,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。在日常工作或学习中,经常会遇到这样的无奈:“小任...
    99+
    2023-06-17
  • 怎么使用Python对文件进行批量改名
    使用Python对文件进行批量改名Python在Windows系统下的路径表示回顾:反斜杠“\”是转义符,如果继续用windows习惯使用“\”表示文件路径,就会产生歧义。Windows下的原始路径:C:\Users\LUO\Documen...
    99+
    2023-05-14
    Python
  • 如何编写Shell脚本批量修改文件后缀名代码
    本篇内容介绍了“如何编写Shell脚本批量修改文件后缀名代码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!代码如下:#!/bin/basho...
    99+
    2023-06-09
  • Python批量将csv文件编码方式转换为UTF-8的实战记录
    当我们用pandas是操作CSV文件的时候,常常会因为编码问题出现报错。 pandas_libs\parsers.pyx in pandas._libs.parsers.TextRe...
    99+
    2022-11-11
  • 如何使用BAT批处理在RAR压缩文件中批量添加文件
    这篇文章主要讲解了“如何使用BAT批处理在RAR压缩文件中批量添加文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用BAT批处理在RAR压缩文件中批量添加文件”吧!代码如下:@ech...
    99+
    2023-06-08
  • 如何使用Python+ChatGPT批量生成论文
    目录用Python+ChatGPT批量生成论文概述下载论文pdf转文本用GPT-3生成概述输出概述集成测试总结用Python+ChatGPT批量生成论文概述 做算法研究离不开阅读大量...
    99+
    2023-02-27
    Python ChatGPT批量生成论文 Python ChatGPT批量生成
  • 如何利用python批量提取txt文本中所需文本并写入excel
    目录1.提取txt文本2.增加数据框的列3.引入基础csv数据,并扩列汇总总结 1.提取txt文本 我想要的文本是如图所示,宝可梦的外貌描述文本,由于原本的数据源结构并不...
    99+
    2022-11-11
  • 如何使用批处理文件实现批量注册dll
    这篇文章主要为大家展示了“如何使用批处理文件实现批量注册dll”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用批处理文件实现批量注册dll”这篇文章吧。但是对于新手来说即使知道是DLL文件...
    99+
    2023-06-08
  • Python使用xlrd和xlwt批量读写excel文件的示例代码
    目录一、使用xlrd对excel进行数据读取二、使用xlwt写入excel一、使用xlrd对excel进行数据读取 excel表格示例: 安装xlrd库 pip install x...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作