Python可以做的事情很多,想要了解的可以戳这:学习python有什么好处?哪些人适合学习python?
今天要和大家分享8个好玩的脚本例子,初学者可以照着代码自己写写,在快速掌握Python语法的时候,还可以接触众多的第三方工具库。
一、使用PIL、Matplotlib、Numpy对模糊老照片进行修复
使用PIL、Matplotlib和Numpy进行老照片修复涉及到多个步骤。下面是一个简单的示例代码,用于对模糊老照片进行修复。这个代码实现了基本的去噪和锐化操作。为了获得更好的修复效果,大家还可以尝试使用更高级的算法或深度学习方法。
— 首先要确保已经安装了所需要的库,如果没有,使用pip install
安装。
import numpy as np import matplotlib.pyplot as plt from PIL import Image, ImageFilter # 读取图片并转换为灰度图 def load_image(image_path): img = Image.open(image_path) return img.convert("L") # 对图片进行去噪处理 def denoise_image(image, weight=0.1): img_array = np.asarray(image, dtype=np.float32) out_array = img_array.copy() out_array[1:-1, 1:-1] = img_array[1:-1, 1:-1] * (1 - 4 * weight) + \ (img_array[:-2, 1:-1] + img_array[2:, 1:-1] + img_array[1:-1, :-2] + img_array[1:-1, 2:]) * weight return Image.fromarray(np.uint8(out_array), "L") # 对图片进行锐化处理 def sharpen_image(image, radius=2, percent=150): return image.filter(ImageFilter.UnsharpMask(radius=radius, percent=percent, threshold=3)) # 显示图片 def display_image(image): plt.imshow(image, cmap="gray") plt.axis("off") plt.show() # 主程序 def main(): image_path = "path/to/your/image.jpg" # 替换为你的图片路径 # 加载图片 image = load_image(image_path) # 对图片进行去噪处理 denoised_image = denoise_image(image) # 对图片进行锐化处理 sharpened_image = sharpen_image(denoised_image) # 显示原始图片 print("原始图片:") display_image(image) # 显示修复后的图片 print("修复后的图片:") display_image(sharpened_image) if __name__ == "__main__": main()
上述代码,我们了解下思路:
- 加载图片并将其转换为灰度图。
- 对图片进行去噪处理,使用简单的加权平均算法。您可以尝试其他更复杂的去噪算法以获得更好的效果。
- 对图片进行锐化处理,使用Unsharp Mask算法。这可以帮助突出图片中的细节。
- 最后,显示原始图片和修复后的图片。
二、使用tkinter制作计算器GUI
我们做一个实现了基本的加、减、乘、除运算的计算器。
import tkinter as tk class Calculator(tk.Tk): def __init__(self): super().__init__() self.title("简易计算器") self.geometry("400x400") self.result_var = tk.StringVar() self.create_widgets() def create_widgets(self): # 结果显示框 result_entry = tk.Entry(self, textvariable=self.result_var, font=("Arial", 24), bd=20, justify="right") result_entry.grid(row=0, column=0, columnspan=4) # 数字按钮 button_font = ("Arial", 14) button_bg = "#ccc" button_active_bg = "#aaa" for i in range(9): button = tk.Button(self, text=str(i + 1), font=button_font, bg=button_bg, activebackground=button_active_bg, command=lambda i=i: self.on_number_button_click(i + 1)) button.grid(row=3 - i // 3, column=i % 3) zero_button = tk.Button(self, text="0", font=button_font, bg=button_bg, activebackground=button_active_bg, command=lambda: self.on_number_button_click(0)) zero_button.grid(row=4, column=1) # 运算符按钮 operators = [ ("+", 0, 3), ("-", 1, 3), ("*", 2, 3), ("/", 3, 3), ("=", 4, 3) ] for operator, row, col in operators: button = tk.Button(self, text=operator, font=button_font, bg=button_bg, activebackground=button_active_bg, command=lambda operator=operator: self.on_operator_button_click(operator)) button.grid(row=row, column=col) # 清除按钮 clear_button = tk.Button(self, text="清除", font=button_font, bg=button_bg, activebackground=button_active_bg, command=self.on_clear_button_click) clear_button.grid(row=4, column=0) # 删除按钮 delete_button = tk.Button(self, text="删除", font=button_font, bg=button_bg, activebackground=button_active_bg, command=self.on_delete_button_click) delete_button.grid(row=4, column=2) def on_number_button_click(self, number): current_result = self.result_var.get() if current_result == "0" or current_result[-1] in "+-*/": self.result_var.set(str(number)) else: self.result_var.set(current_result + str(number)) def on_operator_button_click(self, operator): current_result = self.result_var.get() if current_result[-1] in "+-*/": self.result_var.set(current_result[:-1] + operator) else: self.result_var.set(current_result + operator) def on_clear_button_click(self): self.result_var.set("0") def on_delete_button_click(self): current_result = self.result_var.get() if len(current_result) > 1: self.result_var.set(current_result[:-1]) else: self.result_var.set("0") def on_equal_button_click(self): try: result = eval(self.result_var.get()) self.result_var.set(str(result)) except ZeroDivisionError: self.result_var.set
三、将PDF转换为图像
下面是将所有pdf页转化成图像。
# PDF to Images import fitz pdf = 'sample_pdf.pdf' doc = fitz.open(pdf) for page in doc: pix = page.getPixmap(alpha=False) pix.writePNG('page-%i.png' % page.number)
四、PDF文件转为word格式
依旧是要确保pdf2docx库的安装,如果没有使用命令pip install pdf2docx
下面是一个简单的使用pdf2docx库将PDF文件转换为Word格式的示例代码。小伙伴需要将输入和输出文件的路径替换为实际路径。
from pdf2docx import Converter def convert_pdf_to_word(input_pdf, output_docx): # 创建一个PDF转换器对象 pdf_converter = Converter(input_pdf) # 将PDF转换为docx文件 pdf_converter.convert(output_docx) # 关闭转换器以释放资源 pdf_converter.close() if __name__ == "__main__": input_pdf = "path/to/your/input.pdf" # 替换为实际的PDF文件路径 output_docx = "path/to/your/output.docx" # 替换为实际的docx输出文件路径 # 调用函数进行转换 convert_pdf_to_word(input_pdf, output_docx) print("PDF文件已成功转换为Word格式.")
代码说明:
- 从pdf2docx库中导入Converter类。
- 定义一个
convert_pdf_to_word
函数,该函数接受输入PDF文件路径和输出docx文件路径作为参数。 - 使用输入的PDF文件路径创建一个PDF转换器对象。
- 调用
convert
方法将PDF转换为docx文件。 - 关闭转换器以释放资源。
- 在
__main__
代码块中,定义输入PDF文件路径和输出docx文件路径,然后调用convert_pdf_to_word
函数进行转换。
五、PDF加密和解密
如果你有N多个PDF文件需要加密,手动可能需要大半天甚至一天的时间。
但是,用Python的pikepdf模块,即可对文件进行加密,写一个循环就能进行批量加密文档。
# PDF加密 import pikepdf pdf = pikepdf.open("test.pdf") pdf.save('encrypt.pdf', encryption=pikepdf.Encryption(owner="your_password", user="your_password", R=4)) pdf.close()
有加密那么便会有解密,代码如下。
# PDF解密 import pikepdf pdf = pikepdf.open("encrypt.pdf", password='your_password') pdf.save("decrypt.pdf") pdf.close()
六、做一个炫酷的二维码
首先要安装myqr
pip install myqr
我们找一个自己喜欢的图:
然后输入代码:
from MyQR import myqr import os version, level, qr_name = myqr.run( words="https://www.baidu.com", # 可以是字符串,也可以是网址(前面要加http(s)://) version=1, # 设置容错率为最高 level='H', # 控制纠错水平,范围是L、M、Q、H,从左到右依次升高 picture="123.gif", # 将二维码和图片合成 colorized=True, # 彩色二维码 contrast=1.0, #用以调节图片的对比度,1.0 表示原始图片,更小的值表示更低对比度,更大反之。默认为1.0 brightness=1.0, #用来调节图片的亮度,其余用法和取值同上 save_name="3.gif", # 保存文件的名字,格式可以是jpg,png,bmp,gif save_dir=os.getcwd() #控制位置 )
七、tushare(财经数据包)
安装
pip install tushare
代码
import tushare as ts #一次性获取最近一个日交易日所有股票的交易数据 ts.get_today_all()
来看看结果
代码,名称,涨跌幅,现价,开盘价,最高价,最低价,最日收盘价,成交量,换手率 code name changepercent trade open high low settlement \ 0 002738 中矿资源 10.023 19.32 19.32 19.32 19.32 17.56 1 正业科技 10.022 25.03 25.03 25.03 25.03 22.75 2 002736 国信证券 10.013 16.37 16.37 16.37 16.37 14.88 3 迦南科技 10.010 31.54 31.54 31.54 31.54 28.67 4 金盾股份 10.007 29.68 29.68 29.68 29.68 26.98 5 南威软件 10.006 38.15 38.15 38.15 38.15 34.68 6 002664 信质电机 10.004 30.68 29.00 30.68 28.30 27.89 7 东方网力 10.004 86.76 78.00 86.76 77.87 78.87 8 中国北车 10.000 11.44 11.44 11.44 11.29 10.40 9 大连港 10.000 5.72 5.34 5.72 5.22 5.20
八、自动化阅读网页新闻
我们可以写一个脚本,实现从网页中抓取新闻,第二通过阅读工具来朗读。
为了完成这个任务,我们需要使用两个库:一个是用于网络抓取的库(如BeautifulSoup和requests),另一个是用于文本转语音的库(如gTTS)。
首先,需要大家确保已经安装了所需的库。如果没有,请使用以下命令安装:
pip install beautifulsoup4 requests gtts
下面,看看代码:
import requests
from bs4 import BeautifulSoup
from gtts import gTTS
import os
# 爬取网页文本内容
def fetch_text_from_url(url):
response = requests.get(url)
soup = BeautifulSoup(response.content, "html.parser")
# 从网页中提取文本内容
# 这里我们只提取段落标签(<p>)中的文本,你可以根据需要修改
paragraphs = soup.find_all("p")
text = "\n".join([p.text for p in paragraphs])
return text
# 将文本转换为语音并播放
def text_to_speech(text, language="en"):
tts = gTTS(text=text, lang=language, slow=False)
tts.save("temp_audio.mp3")
# 播放生成的音频文件
os.system("mpg123 temp_audio.mp3")
if __name__ == "__main__":
url = "https://example.com/article" # 将此替换为你想要抓取的网页URL
# 抓取网页文本
text = fetch_text_from_url(url)
# 将抓取到的文本转换为语音并播放
text_to_speech(text)
代码说明:
- 使用
requests
库获取网页内容,然后使用BeautifulSoup库解析HTML。 - 从HTML中提取所需的文本内容(在这个例子中,我们提取了所有段落标签
<p>
中的文本)。您可以根据实际需求更改此部分以提取特定内容。 - 使用gTTS库将提取的文本转换为语音。您可以设置不同的语言和速度。
- 将生成的音频保存到一个临时文件,然后使用
os.system
命令播放音频文件。在这个例子中,我们使用mpg123
播放MP3文件,确保已经在您的系统上安装了该软件。
需要注意的是,为了播放音频文件,需要用一个mp3文件的播放器。我们使用了mpg123
,但大家可以根据自己的操作系统和喜好选择其他播放器。
Python 的迅速崛起对整个行业来说都是极其有利的 ,但“人红是非多
”,导致它平添了许许多多的批评,不过依旧挡不住它火爆的发展势头。
如果你对Python感兴趣,想要学习python,这里给大家分享一份Python全套学习资料,都是我自己学习时整理的,希望可以帮到你,一起加油!
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
## 1️⃣零基础入门
① 学习路线
对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
② 路线对应学习视频
还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
③练习题
每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
2️⃣国内外Python书籍、文档
① 文档和书籍资料
3️⃣Python工具包+项目源码合集
①Python工具包
学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
②Python实战案例
光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
③Python小游戏源码
如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
4️⃣Python面试题
我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
5️⃣Python兼职渠道
而且学会Python以后,还可以在各大兼职平台接单赚钱,各种兼职渠道+兼职注意事项+如何和客户沟通,我都整理成文档了。
上述所有资料 ⚡️ ,朋友们如果有需要的,可以扫描下方👇👇👇二维码免费领取🆓
今天的文章
8个有趣易学的Python脚本程序,拿走码好练习!分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/80678.html