1.python的mysql连接
def mysql(sql02,sql01=None,host="localhost",name="root",pwd="Wnxy100",database="mydata",charset='utf8'):
import pymysql
data=None
# sql01="use "+sql01 #库名
con=pymysql.connect(host,name,pwd) #1、连接数据库
cur=con.cursor() #2、创建游标
try: #异常抓取
if sql01!=None:
cur.execute(sql01) #多条sql作事务
cur.execute(sql02) #3、执行SQL语句
if sql02[:6].lower()=="select": #判断是否为查询语言
data=cur.fetchall() #获取查询的存储信息
# data=cur.fetchmany(3) #获取查询的部分存储信息,参数:前三条。
except Exception as e: #基类异常捕获
print(e)
con.rollback() #事务回滚
con.commit() #4、提交事务
#5、关闭游标,连接
cur.close()
con.close()
return data #返回查询结果
2.爬虫
def Climb(urlx):
import urllib.request
import re,os
num=1
path=urlx #找到图片地址
url=urllib.request.urlopen(path) #打开网址的内容
date_1=url.read() #读取网站内容
#筛选图片,返回的图片地址列表
img_list=re.findall(r"http://[\S]*jpg",repr(date_1)) #正则,解析
for i in img_list:
if num<=100: #如果保存图片超过100就停止
# print(i)
try:
imge=urllib.request.urlopen(i) #打开图片内容
date=imge.read() #读取图片内容
except Exception as e:
print(e)
print("下载出错。")
with open("F:\\test\\{0}.jpg".format(num),"wb") as f:
f.write(date) #保存图片到本地
print("正在下载第{0}张图片".format(num))
num+=1
print("下载完成!")
if __name__ == "__main__":
url="http://www.jj20.com/bz/dwxz"
Climb(url)
3.从外部接收字符串,利用多进程的队列方式通信并输出。
import multiprocessing,time
que=multiprocessing.Queue()
def write(que,str):
for i in str:
que.put(i)
def read(que):
time.sleep(2)
li=[]
for j in range(que.qsize()):
li.append(que.get())
str02="".join(li)
print(str02)
if __name__ == "__main__":
str=input("请输入你要读写的字符串:")
p1=multiprocessing.Process(target=write,args=(que,str))
p2=multiprocessing.Process(target=read,args=(que,))
p1.start()
p2.start()
p1.join()
p2.join()
print("执行完成!")