最近在看《我的天才女友》英文版书籍,苦于查字典太不方便,所以就自己查了查,写了个英文字典执行程序,可以查看单词的英文意思和发音,还可以保存到excel中,方便以后复习。最重要是界面小巧好看,常悬浮各页面之上不被覆盖。放个小图图。
注意.xls文件需要提前准备好,文件路径需要改成自己的。
我是提前写好了一行内容,注意A1 空着。
快来瞅瞅代码吧!
import PySimpleGUI as sg
from bs4 import BeautifulSoup
import pandas as pd
import urllib.request
sg.theme('DarkGreen4')
layout = [
[sg.Text('❀❀辞(=^・・^=)書❀❀',font=("Meiryo UI", 20),
text_color='snow',justification='center',size=(20,1)),],
[sg.In(size=(20,1),font=("Meiryo UI",15),key="-word-"),
sg.B("確認",key='-OK-',font=("Meiryo UI",13)),
sg.B("保存",key='-save-',font=("Meiryo UI",13))],
[sg.ML(size=(28,6),key='-show-',font=("Meiryo UI",15)),],
]
window = sg.Window('dict',layout,keep_on_top=True,location=(777,100))
while True:
event,values=window.read()
if event in (None,'-cancel-','Exit'):
break
if event=='-OK-':
try:
url = 'http://www.iciba.com/word?w='+values['-word-']
req=urllib.request.Request(url)
data=urllib.request.urlopen(req).read().decode()
soup=BeautifulSoup(data,"lxml")
textlist=soup.select('ul[class="Mean_part__1RA2V"] span')
voicelist=soup.select('ul[class="Mean_symbols__5dQX7"] li')
text=""
for i in textlist:
text=text+i.text
voice=""
for y in voicelist:
voice=voice+y.text
show=voice+'\n'+text
window.Element('-show-').Update(show)
except Exception as e:
window.Element('-show-').Update("么有这个单词,重新输入吧")
if event =="-save-":
try:
df=pd.read_csv(r'/Users/yuanchangyan/Desktop/事件管理/词典.csv')
df=df.drop(['Unnamed: 0'],axis=1)
df.loc[len(df)]=[values['-word-'],voice,text]
df.to_csv(r'/Users/yuanchangyan/Desktop/事件管理/词典.csv')
window.Element('-show-').Update('記入完了!')
if event=='-cancel-':
break
except Exception as e:
window.Element('-show-').Update('err,',text_color='red')
window.close()
纯业余,如果哪旮旯有问题请私信我吧。爱你们么么哒……❤️