跳过正文
  1. Posts/

使用opencc进行简繁转换

· loading · loading ·
教程 技巧 简体中文 繁体中文
Ohdmire
作者
Ohdmire
Think much.
目录

前言
#

在使用Whisper进行语音转换的同时,不知道咋的抽风给我生成繁体中文,虽然很容易就能在网上找到简繁转换的工具,但我还是打算自己写一个

准备
#

在这里我使用python进行编写,使用opencc这个库进行简繁的转换。

opencc
#

opencc是一款强大的汉字转换的开源项目,支持中文简繁转换,支持词汇级别的转换、异体字转换和地区习惯用词转换

编写
#

直接开始造

繁体中文转简体中文(Traditional Chinese to Simplified Chinese)简称t2s

import opencc
import sys
import re

if len(sys.argv)==1:
    filenames=input("请拖入文件").replace("\\","/")
    filenames=re.findall(r'(?<=").*?(?=")',filenames)
    filenames.remove(" ")
elif len(sys.argv)>1:
    filenames = sys.argv[1:]
for filename in filenames:
    with open(filename,"r",encoding='utf-8') as f:
        data=f.read()
    converter=opencc.OpenCC("t2s.json")
    result=converter.convert(data)
    with open(filename,"w",encoding='utf-8') as f:
        f.write(result)
        print(filename)
input("- - -转换完成- - -")

简体中文转繁体中文(Simplified Chinese to Traditional Chinese)简称s2t

......
converter=opencc.OpenCC("s2t.json")
......

最后通过pyinstaller打包即可

pyinstaller -F main.py

代码我也上传到了我的GitHub上

https://github.com/ohdmire/convert_sc-tc

Ohdmire/convert_sc-tc

简体繁体转换

HTML
0
0

遇到的坑
#

路径问题
#

首先是这个windows的路径问题,我拖入的文件无法直接被python识别,必须按格式把""去掉,还得把\转换成/

拖入多个文件时,得通过正则表达式提取出""之内的路径,然后转换为列表

传入参数
#

想让文件拖到图标上就能执行,要了解sys.argv可以获取传入的参数值,返回值是列表

编码问题
#

传入的文件有可能被误认为是gbk编码,我们需要手动强制编码为utf-8

encoding='utf-8'

使用教程
#

  • t2s.exe 是繁体中文转简体中文

  • s2t.exe 是简体中文转繁体中文

将文件拖到该程序的图标上进行转换
#

打开程序后将文件拖入后回车进行转换
#

最后
#

效果展示

参考链接
#

opencc

相关文章

一键kill
· loading · loading
技巧 软件 taskkill
超级粘贴
· loading · loading
技巧 软件 粘贴
Microsoft 365 E5开发者使用指南
· loading · loading
教程 E5 OneDrive Office365 微软
bitwarden使用docker自建服务器教程
· loading · loading
教程 bitwarden 密码
异地组网-ZeroTier简明教程
· loading · loading
教程 网络 ZeroTier 异地组网
关于一些外服游戏下载节省流量
· loading · loading
教程 下载 Blue Archive Project Sekai Heaven Burns Red clash