python 日语转罗马音工具 pykakasi模块使用

翻译文章自:https://qiita.com/komorin0521/items/8cd1eb0cdb4a9ede217e

①下载模块:

pip install pykakasi

pip会自动把依赖库sixsemidbm给装上

手动装也可以:

pip install six semidbm
pip install pykakasi

模块主页:https://github.com/miurahr/pykakasi

②测试代码:

#!/usr/bin/env python3
# coding: utf-8
from pykakasi import kakasi

kakasi = kakasi()

kakasi.setMode('H', 'a')
kakasi.setMode('K', 'a')
kakasi.setMode('J', 'a')

conv = kakasi.getConverter()

filename = '本日は晴天なり.jpg'

print(type(filename))
print(conv.do(filename))

③最终结果:

honjitsuhaseitennari.jpg

④效果截图:

⑤参数说明

These switch alphabets are derived from original Kakasi. Now it support following options:

OptionDescriptionValuesNote
KKatakana convertiona,H,Noneroman, Hiragana or noconversion
HHiragana convertiona,K,Noneroman, Katakana or noconversion
JKanji conversiona,H,K,Noneroman or Hiragana, Katakana or noconv
aRoman conversionE,NoneJIS ROMAN or noconversion
EJIS ROMAN conversiona,Noneascii roman or noconversion

Each character means character sets as follows:

Character Sets
   a: ascii  j: jisroman  g: graphic  k: kana
   (j,k     defined in jisx0201)
   E: kigou  K: katakana  H: hiragana J: kanji
   (E,K,H,J defined in jisx0208)


上面的参数说明很详细了,如果看不懂看下面的例子就一目了然:

from pykakasi import kakasi,wakati

text = u"かな漢字交じり文"
kakasi = kakasi()
kakasi.setMode("H","a") # Hiragana to ascii, default: no conversion
kakasi.setMode("K","a") # Katakana to ascii, default: no conversion
kakasi.setMode("J","a") # Japanese to ascii, default: no conversion
kakasi.setMode("r","Hepburn") # default: use Hepburn Roman table
kakasi.setMode("s", True) # add space, default: no separator
kakasi.setMode("C", True) # capitalize, default: no capitalize
conv = kakasi.getConverter()
result = conv.do(text)
print(result)

wakati = wakati()
conv = wakati.getConverter()
result = conv.do(text)
print(result)
要说这个模块的作用,除了可以自动转换日文歌词之外,还有python的很多模块不支持非ascii字符串,比如Vapoursynth用于压制的时候,VSFilter或者VSFilterMod就不支持很多字幕文件名的字符了,这个模块可以自动把文件名转换成罗马音解决要手动改名字的麻烦。


  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值