Python 英语单词本
Posted 不想秃头的晨晨
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 英语单词本相关的知识,希望对你有一定的参考价值。
大家好!我是晨晨💓
希望大家多多支持我!
为了感谢每一个关注我的小可爱:💓文章留言“学习”即可获取晨晨精心准备的学习大礼包,都是无偿分享滴💓
最后——如果文章有帮助到你,记得“关注”、“点赞”、“评论”三连哦~
————————————————
python pymysql re requests socket库的简单运用
要考试了,这里用所学的知识做一个实例
pymysql库
这个库是用来连接数据库的,使用数据库语句在python里创建表和数据库
English.py
import pymysql
def init(): #创建数据库和表
sql_data='create database English'
sql_table='create table word(id int(100),English char(50),Chinese varchar(100),time varchar(50))default charset=utf8;'
DB=pymysql.connect(host='localhost',password='1234',charset='utf8',user='root')
cursor=DB.cursor()
cursor.execute(sql_data)
cursor.execute('use English')
cursor.execute(sql_table)
init()
requests库
通过python来获取网页信息
function.py这个文件来实现单词本的各种功能
function.py
import time
import pymysql
import requests
DB = pymysql.connect(host='localhost', password='1234', charset='utf8', user='root', database='English')
cursor = DB.cursor()
class Func():
def __init__(self):
self.sql_all = 'select * from word'
def id(self): # 获取id值
cursor.execute(self.sql_all)
fin = cursor.fetchall()
if fin:
global id
self.id = fin[-1][0] + 1
else:
self.id = 1
def translate(self):
url='https://fanyi.baidu.com/sug'
headers='User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0'
while True:
word = input('请输入被翻译的单词或句子(q==quit)')
if word == 'q':
break
data='kw':word
re=requests.post(url=url,headers=headers,data=data)
a=re.json()
for i in a['data']:
print(i['k'] , '\\t' , i['v'])
def insert(self): # 插入数据
while True:
e = input('请输入英文 (q=quit)')
if e == 'q':
break
c = input('请输入中文')
time1 = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
sql_insert = 'insert into word values(%d,"%s","%s","%s");' % (self.id, e, c, time1)
cursor.execute(sql_insert)
DB.commit()
print(e, c, '以收入数据库')
self.id = self.id + 1
def show(self): # 显示所有单词
cursor.execute(self.sql_all)
fin = cursor.fetchall()
print('序号 英文 中文 时间')
for i in fin:
if i != fin[0]:
print()
for j in i:
print(j,end=' ')
print()
def show_something(self):
a = input('请输入以什么为开头的模糊查找')
sql_something = 'select * from word where english like "0%"'.format(a)
#print(sql_something)
print('序号 英文 中文 时间')
cursor.execute(sql_something)
a = cursor.fetchall()
for i in a:
if i != a[0]:
print()
for j in i:
print(j,end=' ')
print()
def delete(self):
a = int(input('请输入单词序号: '))
sql_del = 'delete from word where id=0 '.format(a)
cursor.execute(self.sql_all)
print('序号 英文 中文 时间')
l = cursor.fetchall()
for i in l:
if i[0] == a:
for j in i:
print(j,end=' ')
print()
#print(sql_del)
cursor.execute(sql_del)
DB.commit()
def main():
fun = Func()
fun.id()
print('欢迎来到 <小茅背单词>\\n选择功能 1.背单词 2.查翻译 3.显示所有库中单词 4.显示以什么字符开头的单词'
' 5.删除单词 6.开启远程背单词功能 7.q==quit')
while True:
ch = input('请输入序号 (s=show)')
if ch == '1':
fun.insert()
if ch == '2':
fun.translate()
if ch == '3':
fun.show()
if ch == '4':
fun.show_something()
if ch == '5':
fun.delete()
if ch == '6':
import remotely
if ch == 's':
print('欢迎来到 <小茅背单词>\\n选择功能 1.背单词 2.查翻译 3.显示所有库中单词 4.显示以什么字符开头的单词'
' 5.删除单词 6.开启远程背单词功能 7.q==quit')
if ch == 'q':
print('Bye')
break
main()
def rec():
import re
Pattern = re.compile(r"^[A-Za-z0-9\\u4e00-\\u9fa5]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)$")
word=input('word')
if Pattern.match(word):
print('成功')
通过bind绑定ip地址使远程的用户可以连接到remotely
remotely.py
import pymysql
import socket
import time
DB = pymysql.connect(host='localhost', password='1234', charset='utf8', user='root', database='English')
cursor = DB.cursor()
class reFunc():
def __init__(self):
self.sql_all = 'select * from word'
def id(self): # 获取id值
cursor.execute(self.sql_all)
fin = cursor.fetchall()
if fin:
global id
self.id = fin[-1][0] + 1
else:
self.id = 1
def insert(self): # 插入数据
while True:
e = con.recv(1024).decode('utf-8')
if e == 'q':
s.close()
break
c = con.recv(1024).decode('utf-8')
time1 = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
sql_insert = 'insert into word values(%d,"%s","%s","%s");' % (self.id, e, c, time1)
message = '0,1以收入数据库'.format(e, c)
con.send(message.encode('utf-8'))
cursor.execute(sql_insert)
DB.commit()
print(e, c, '以收入数据库')
self.id = self.id + 1
fun = reFunc()
fun.id() # 先获取id值
s = socket.socket()
s.bind(('10.104.45.223', 8888))
print('已准备')
s.listen(5)
con, address = s.accept()
print('连接成功')
message = ('欢迎来到 <小茅背单词>\\n 远程功能,你所输入的数据将会存放在主机库中')
con.send(message.encode('utf-8'))
fun.insert()
socket
这是给远程用户使用的,两个用户连接时首先得相互ping通
import socket
s=socket.socket()
s.connect(('10.104.45.223',8888))
rep=s.recv(1024).decode('utf-8')
print(rep)
def select1():
while True:
message=input('请输入英文 q == quit:')
if message == 'q':
s.send(message.encode('utf-8'))
s.close()
break
else:
s.send(message.encode('utf-8'))
message=input('请输入中文')
s.send(message.encode('utf-8'))
rep=s.recv(1024).decode('utf-8')
print(rep)
select1()
你们的支持是我最大的动力!!记得三连哦~
关注小编获取更多精彩内容!
制作不易,记得一键三连哦!!
以上是关于Python 英语单词本的主要内容,如果未能解决你的问题,请参考以下文章