范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

5个有趣的Python脚本

  Python可以玩的方向有很多,比如爬虫、预测分析、GUI、自动化、图像处理、可视化等等,可能只需要十几行代码就能实现酷炫的功能。
  因为Python是动态脚本语言,所以代码逻辑比Java要简要很多,实现同样的功能少写很多代码。而且Python生态有众多的第三方工具库,把功能都封装在包里,只需要你调用接口,就能使用复杂的功能。
  下面举几个简单好玩的脚本例子,初学者可以照着代码写写,能快速掌握python语法。  1、使用PIL、Matplotlib、Numpy对模糊老照片进行修复
  # encoding=utf-8 import numpy as np import matplotlib.pyplot as plt from PIL import Image import os.path # 读取图片 img_path = "E:test.jpg" img = Image.open(img_path)  # 图像转化为numpy数组 img = np.asarray(img) flat = img.flatten()  # 创建函数 def get_histogram(image, bins):     # array with size of bins, set to zeros     histogram = np.zeros(bins)     # loop through pixels and sum up counts of pixels     for pixel in image:         histogram[pixel] += 1     # return our final result     return histogram  # execute our histogram function hist = get_histogram(flat, 256)  # execute the fn cs = np.cumsum(hist)  # numerator & denomenator nj = (cs - cs.min()) * 255 N = cs.max() - cs.min()  # re-normalize the cumsum cs = nj / N  # cast it back to uint8 since we can"t use floating point values in images cs = cs.astype("uint8")  # get the value from cumulative sum for every index in flat, and set that as img_new img_new = cs[flat]  # put array back into original shape since we flattened it img_new = np.reshape(img_new, img.shape)  # set up side-by-side image display fig = plt.figure() fig.set_figheight(15) fig.set_figwidth(15)  # display the real image fig.add_subplot(1, 2, 1) plt.imshow(img, cmap="gray") plt.title("Image "Before" Contrast Adjustment")  # display the new image fig.add_subplot(1, 2, 2) plt.imshow(img_new, cmap="gray") plt.title("Image "After" Contrast Adjustment") filename = os.path.basename(img_path)  # plt.savefig("E:" + filename) plt.show() 2、将文件批量压缩,使用zipfile库import os import zipfile from random import randrange   def zip_dir(path, zip_handler):     for root, dirs, files in os.walk(path):         for file in files:             zip_handler.write(os.path.join(root, file))   if __name__ == "__main__":     to_zip = input(""" Enter the name of the folder you want to zip (N.B.: The folder name should not contain blank spaces) > """)     to_zip = to_zip.strip() + "/"     zip_file_name = f"zip{randrange(0,10000)}.zip"     zip_file = zipfile.ZipFile(zip_file_name, "w", zipfile.ZIP_DEFLATED)     zip_dir(to_zip, zip_file)     zip_file.close()     print(f"File Saved as {zip_file_name}") 3、使用tkinter制作计算器GUI
  tkinter是python自带的GUI库,适合初学者练手创建小软件
  import tkinter as tk  root = tk.Tk()  # Main box window root.title("Standard Calculator")  # Title shown at the title bar root.resizable(0, 0)  # disabling the resizeing of the window  # Creating an entry field: e = tk.Entry(root,              width=35,              bg="#f0ffff",              fg="black",              borderwidth=5,              justify="right",              font="Calibri 15") e.grid(row=0, column=0, columnspan=3, padx=12, pady=12)   def buttonClick(num):  # function for clicking     temp = e.get(     )  # temporary varibale to store the current input in the screen     e.delete(0, tk.END)  # clearing the screen from index 0 to END     e.insert(0, temp + num)  # inserting the incoming number input   def buttonClear():  # function for clearing     e.delete(0, tk.END)  # 代码过长,部分略 4、PDF转换为Word文件
  使用pdf2docx库,可以将PDF文件转为Word格式
  from pdf2docx import Converter import os  import sys  # Take PDF"s path as input  pdf = input("Enter the path to your file: ") assert os.path.exists(pdf), "File not found at, "+str(pdf) f = open(pdf,"r+")  #Ask for custom name for the word doc doc_name_choice = input("Do you want to give a custom name to your file ?(Y/N)")  if(doc_name_choice == "Y" or doc_name_choice == "y"):     # User input     doc_name = input("Enter the custom name : ")+".docx"      else:     # Use the same name as pdf     # Get the file name from the path provided by the user     pdf_name = os.path.basename(pdf)     # Get the name without the extension .pdf     doc_name =  os.path.splitext(pdf_name)[0] + ".docx"       # Convert PDF to Word cv = Converter(pdf)  #Path to the directory path = os.path.dirname(pdf)  cv.convert(os.path.join(path, "", doc_name) , start=0, end=None) print("Word doc created!") cv.close() 5、Python自动发送邮件
  使用smtplib和email库可以实现脚本发送邮件
  import smtplib import email # 负责构造文本 from email.mime.text import MIMEText # 负责构造图片 from email.mime.image import MIMEImage # 负责将多个对象集合起来 from email.mime.multipart import MIMEMultipart from email.header import Header  # SMTP服务器,这里使用163邮箱 mail_host = "smtp.163.com" # 发件人邮箱 mail_sender = "******@163.com" # 邮箱授权码,注意这里不是邮箱密码,如何获取邮箱授权码,请看本文最后教程 mail_license = "********" # 收件人邮箱,可以为多个收件人 mail_receivers = ["******@qq.com","******@outlook.com"]  mm = MIMEMultipart("related")  # 邮件主题 subject_content = """Python邮件测试""" # 设置发送者,注意严格遵守格式,里面邮箱为发件人邮箱 mm["From"] = "sender_name<******@163.com>" # 设置接受者,注意严格遵守格式,里面邮箱为接受者邮箱 mm["To"] = "receiver_1_name<******@qq.com>,receiver_2_name<******@outlook.com>" # 设置邮件主题 mm["Subject"] = Header(subject_content,"utf-8")  # 邮件正文内容 body_content = """你好,这是一个测试邮件!""" # 构造文本,参数1:正文内容,参数2:文本格式,参数3:编码方式 message_text = MIMEText(body_content,"plain","utf-8") # 向MIMEMultipart对象中添加文本对象 mm.attach(message_text)  # 二进制读取图片 image_data = open("a.jpg","rb") # 设置读取获取的二进制数据 message_image = MIMEImage(image_data.read()) # 关闭刚才打开的文件 image_data.close() # 添加图片文件到邮件信息当中去 mm.attach(message_image)  # 构造附件 atta = MIMEText(open("sample.xlsx", "rb").read(), "base64", "utf-8") # 设置附件信息 atta["Content-Disposition"] = "attachment; filename="sample.xlsx"" # 添加附件到邮件信息当中去 mm.attach(atta)  # 创建SMTP对象 stp = smtplib.SMTP() # 设置发件人邮箱的域名和端口,端口地址为25 stp.connect(mail_host, 25)   # set_debuglevel(1)可以打印出和SMTP服务器交互的所有信息 stp.set_debuglevel(1) # 登录邮箱,传递参数1:邮箱地址,参数2:邮箱授权码 stp.login(mail_sender,mail_license) # 发送邮件,传递参数1:发件人邮箱地址,参数2:收件人邮箱地址,参数3:把邮件内容格式改为str stp.sendmail(mail_sender, mail_receivers, mm.as_string()) print("邮件发送成功") # 关闭SMTP对象 stp.quit() 小结
  Python还有很多好玩的小脚本,你可以根据自己的场景来编写,也可以使用现成的第三方库。

国庆放假去哪玩?这9个地方值得一去,去一次甚是难忘现在到了九月底,快要十月的月份了,现在正是秋天的好时节,这也是一年中最美丽的季节,问问谁不想带上自己的家人和朋友,当遇到美丽的景色时,坐上房车停下来看祖国美丽的秋景!和家人和朋友和北京二手房交易新政来了9月23日,北京市住建委和市规自委印发通知,表示为提高存量房屋交易效率,支持购房家庭合理住房需求,将试行存量房交易连环单串联改并联办理。试行二手房交易连环单串联改并联办理9月23日人民币破7。1后怎么办?对市场会有哪些影响?未来投资方向在哪?今年以来,人民币贬值已经超过10,就在昨天,汇率继续贬值,已经破了7。1关口。这对市场未来走势有何影响?投资的方向又在哪里?今天我们就来简单聊聊汇率问题。首先先聊下为何贬值?美联储三亩学究美国市场营销专业最强申研攻略从跳一跳,合成大西瓜,到羊了个羊,微信平台的这三款小游戏火爆全网,上亿的参与量另开发商们获得了难以计数的广告收入。这三款游戏的玩法都非常简单,例如羊了个羊,只需要按照一定次序点击相决战莫干山!首届英雄联盟手游艾欧尼亚杯冠军即将诞生9月23日至9月25日,首届英雄联盟手游艾欧尼亚杯即将在莫干山迎来终极抢分赛的最终对决。经过突围赛与晋级赛的激烈较量,OCTTJTWBGNV五支队伍脱颖而出,成功会师莫干山,争夺首马宁不该被举黑白照片,但是足协应该反思对于河南嵩山球迷举着马宁的黑白遗照我个人是坚决反对的,我觉得这个东西已经不是涉及到人身攻击了而是一种对于底线的践踏,这样的行为势必是应该被处罚的,尤其是俱乐部监管不力也是应该被追究韦伯望远镜拍到海王星最清晰照片,对研究冰巨星意义重大记者刘子象编辑詹姆斯韦伯太空望远镜将视线从宇宙深处转回到了太阳系,利用最新技术捕捉到了海王星及其星环的细节。这是30多年来最清晰的相关影像。9月21日,美国宇航局(NASA)发布了中国院士赌对了,这才是国产芯片的机遇,苹果,谷歌也在布局风向开始变了,这一次是关乎芯片架构,英特尔早早布局,苹果,谷歌现如今也已经跟上,到底发生了什么?拒绝高昂授权费,厂商们开始行动自从美开始修改芯片规则之后,自主便被提及得越来越多。但环不环保另说,但成本真省了,苹果iPhone14ProMax原装数据线拆解前言自从iPhone12起,苹果就取消了手机包装内部的耳机和充电器,取而代之的是一条数据线。今天为大家拆解的是iPhone14ProMax随机的一条USBCtoLightning数苹果出逃中国,2025年iPhone产能四分之一将转移到印度?摩根大通(JPMorgan)分析师周三表示,到2025年,苹果可能会在印度生产四分之一的iPhone,因为这家科技巨头将从中国转移部分生产线于印度。摩根大通(JPMorgan)预计苹果iPhone14PlusProMax机主满意度调查苹果一年一度的科技春晚已落下帷幕,全新一代iPhone14系列也已全量上市。现在很多朋友已陆续拿到了新机,那么您对本代iPhone是否满意呢?在此IT之家邀请各位机主们分享您的使用
新民快评体育追星拒绝饭圈污染这几天,2023全国跳水冠军赛正在上海东方体育中心火热进行,特别是奥运冠军10米台双姝陈芋汐和全红婵的赛季首秀,掀起观众观赛的热潮。不过,个人赛结束后出现不和谐音,一些网友将矛头对势必补强!美媒6换1交易出炉,勇士下赛季夺冠大增,森林狼不亏独行侠坐镇主场迎战卫冕冠军金州勇士,此役勇士队玩起团队篮球,共计6人得分上双,库里拿下20分13次助攻的数据,独行侠的欧文因在上一场比赛被狄龙布鲁克斯撞伤脚踝而休战,结果新秀杰登哈腾讯网易都做游戏,为什么丁磊没人骂,都来骂马化腾?丁磊创建网易的过程也是充满了曲折,曾经网易一度经营不下去了,离破产清算尽在咫尺。两个机会改变了网易的命运,一次是做出了网易邮箱,一次是运营网络游戏。网易游戏和腾讯游戏在PC时代早期有人说,买手机可以不买苹果,可是买平板必须买ipad,这句话对吗?为什么?安卓平板的体验确实远远不如苹果iPad,就我的经历来说,苹果iPad主要有以下优点1经久耐用,合理使用的话用上10年问题不大。比如我家里的iPad2还在服役当中,这款平板是在201经常用office,是不是不适合买macbook?如果经常使用Office,不推荐用苹果电脑!如果经常使用Office,不推荐用苹果电脑!虽然说Office也有Mac版本,但和Win系统下的Office功能上还是相差得太远了。普通安卓手机有哪些好用的手机app可以推荐?今天给大家安利4款安卓好用逆天的APP一。小圆角如果你痴迷圆角屏幕,而手机厂商却迟迟不适配,那么这款APP将非常适合你,对于OLED屏幕,软件还加入了防烧屏模式,降低了OLED屏幕冠心病患者可以喝牛奶吗?得了冠心病需要注意什么,还能治好吗?近年来,我国冠心病的患病率和死亡率一直处于上升的趋势,这和人民生活水平的提高,不健康的生活方式增加是有关系的。得了冠心病,在很多方面,都需要注意。比如,在饮食上面就不能跟正常人一样央广网评又有两名足协官员被查彰显足球反腐坚定决心23日,中国足协竞赛部部长黄松和纪律委员会主任王小平被查。在中国足协组织架构中,竞赛部和纪律委员会堪称要害部门。特别是竞赛部,联赛的运转参赛人员的资格审查,均由这一部门负责。因此,刺激,莱万哑火2分钟丢2球,13世界第22遭对手爆冷,无缘开门红世界排名第38的捷克队迎来了欧洲杯预选赛小组赛第一轮的较量,捷克队此役坐镇自己的主场PK世界排名第22的波兰队。论纸面实力波兰队略强于捷克队,所以赛前有超过74的球迷看好做客的波兰白富美疯狂迷恋黑人壮汉,3年生2娃,结局如何?头条创作挑战赛问世间情为何物,直教人生死相许!爱情,是一个说不清道不明的东西,莫名其妙地来,无可奈何地走,没有理由,没有原因。就像号称非洲猎豹的拳王胡斯哥路沙,与香港白富美Novy8月8日,山西省第十六届运动会在大同开幕山西日报新媒体记者李倩倩报道山西省第十六届运动会(以下简称省运会)会期已定。8月8日在大同市体育中心开幕,8月18日在朔州市体育馆闭幕。近日,山西省人民政府办公厅发布山西省第十六届