1.制作原因:
因老婆工作需要
2.环境:
windows ,python
3.功能:
输入汉字返回汉字拼音
4.效果:
①输入截图:
②返回结果截图:
4.源代码:
import PySimpleGUI as sg
from xpinyin import Pinyin
def main():
while 1:
hzi = sg.popup_get_text("请输入汉字(输入q退出):")
if hzi == 'q':
break
p = Pinyin()
ret = p.get_pinyin(u'{}'.format(hzi), ' ', tone_marks='marks')
sg.popup_scrolled(ret, title="汉字拼音")
if __name__ == '__main__':
main()
5.打包成exe可执行程序:
(venv) D:\work\venv\Scripts>pyinstaller.exe -Fw D:\work\hanzi_to_py.py
6.打包后程序执行遇到的问题:
Exception in Tkinter callback
Traceback (most recent call last):
File "tkinter\__init__.py", line 1705, in __call__
File "hanzi_to_py.py", line 28, in show_command
File "lib\site-packages\xpinyin\__init__.py", line 60, in __init__
File "pathlib.py", line 1196, in read_text
File "pathlib.py", line 1183, in open
File "pathlib.py", line 1037, in _opener
File "pathlib.py", line 387, in wrapped
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\Administrato
r\\AppData\\Local\\Temp\\_MEI116322\\xpinyin\\Mandarin.dat'
解决方法:
①将xpinyin模块所需的文件Mandarin.dat复制到hanzi_to_py.py的同一目录下
Mandarin.dat文件位置:
②修改xpinyin模块的"lib\site-packages\xpinyin\__init__.py"
③重新打包exe程序,并把Mandarin.dat文件放在打包好的exe程序同一目录下