目录
- 人工智能聊天机器人
- 制作网页应用程序
- 将PDF转换为Excel
- 制作通知器
- 神奇照片编辑器
- 制作校对工具
- 简单图像下载器
- URL短链接生成器
- 隐藏CSV模块
- 获取临时邮箱
1. 人工智能聊天机器人
如果你想要一个免费AI聊天机器人,比如ChatGPT,可以使用这个Python 脚本,它利用了Gemini(谷歌AI),这是AI市场上最热门且智能的工具之一。Gemini为Pro版本提供每分钟60次请求的免费API访问。
下面介绍如何使用Gemini创建你自己的AI聊天机器人,并与之聊天、生成文本、提问或分析照片等等。欢迎复制下面的代码。
# 聊天机器人 AI
# pip install google-generativeai
# pip install pillow
import google.generativeai as genai
from PIL import Image
# 设置 API 密钥
genai.configure(api_key='YOUR API KEY')
# 生成文本
model = genai.GenerativeModel('gemini-pro')
response = model.generate_content("给我一些有趣的周末计划列表")
print(response.text)
# 与 AI 聊天
chat = model.start_chat()
chat.send_message("Python 和 JavaScript 哪个更好?")
for m in chat.history:
print(m.parts[0].text)
# 分析图像
model = genai.GenerativeModel('gemini-pro-vision')
img = Image.open('street.jpg')
response = model.generate_content(img)
print(response.text)
# 带文本分析图像
img = Image.open('NewYork_Street.jpg')
response = model.generate_content(["请告诉我确切位置", img])
print(response.text)
2. 制作网络应用程序
现在不需要HTML、CSS和JS,就可以通过Streamlit使用几行代码创建一个漂亮的网页应用。这个Python模块非常易用于照片编辑器、聊天机器人、作品集、图标生成器和图像生成器等网页应用。一定要试试下面的脚本。
可查看Streamlit应用库,看看其他开发者制作了什么。😎
# pip install streamlit
# import streamlit as st
def calculate(operation, num1, num2):
if operation == '加':
return num1 + num2
elif operation == '减':
return num1 - num2
elif operation == '乘':
return num1 * num2
elif operation == '除':
if num2 == 0:
return "不能除以零"
return num1 / num2
# Streamlit 应用
def webapp():
st.title("简单计算器")
num1 = st.number_input("输入第一个数字", value=0.0, format="%f")
num2 = st.number_input("输入第二个数字", value=0.0, format="%f")
operation = st.selectbox("选择操作",
["加", "减", "乘", "除"])
if st.button("计算"):
result = calculate(operation, num1, num2)
st.write(f"结果是: {result}")
webapp()
3. 将PDF转换为Excel
厌倦了从PDF复制表格和数据到Excel?那么使用下面的Python脚本将其自动化,它使用Openpyxl、Tabula和Pandas模块。Tabula是一个流行的模块,可以将任何类型的表格数据提取到CSV、Excel,甚至JSON。欢迎随意复制下面的代码。😉
# PDF 转 Excel
# pip install tabula-py
# pip install pandas
# pip install openpyxl
import tabula
import pandas as pd
# 读取 PDF 文件
filename = "myPDF.pdf"
# 将 PDF 转换为 Excel
df = tabula.read_pdf(filename, pages='all', multiple_tables=True)
# 保存 Excel
writer = pd.ExcelWriter('output.xlsx')
for i, table in enumerate(df):
table.to_excel(writer, sheet_name=f'Sheet{i}', index=False)
writer.save()
print("PDF 转 Excel 转换完成!")
4. 制作通知器
你知道你可以制作自己想要的通知器吗?比如水分提醒通知器、雨天通知器,或者你最喜欢的产品打折通知器等等?下面的脚本制作了一个电池通知器,使用Plyer模块在任务栏提醒电池是否充满或降到特定百分比。
现在就制作你自己的通知器吧😄,如果有任何反馈请告诉我。
# 电池通知器
# pip install plyer
import psutil
from plyer import notification
import time
def getBatteryStatus():
battery = psutil.sensors_battery()
percent = battery.percent
return percent
def Notifier(percent):
if percent >= 80:
notification.notify(
title="电池充满",
message="请拔掉充电器",
timeout=10
)
elif percent <= 30:
notification.notify(
title="电池低电",
message="请插上充电器",
timeout=10
)
if __name__ == "__main__":
while True:
percent = getBatteryStatus()
Notifier(percent)
time.sleep(60)
5. 神奇照片编辑器
如果你不想使用Photoshop进行小幅度的照片编辑,可使用下面的自动化脚本,它可以调整大小、模糊、翻转、裁剪、添加阴影和压缩等等。下面的代码使用了流行的Pillow模块,专门用于图像处理。使用Pillow可进行批量图像编辑,比如合并多张照片或调整大小和裁剪。
# Magic Photo Editor
# pip install pillow
from PIL import Image, ImageFilter
import os
def ResizeImage(image, size):
image.resize(size, Image.ANTIALIAS)
image.save("resized.jpg")
def RotateImage(image, angle):
image.rotate(angle)
image.save("rotated.jpg")
def CropImage(image, box):
image.crop(box)
image.save("cropped.jpg")
def FlipImage(image):
image.transpose(Image.FLIP_LEFT_RIGHT)
image.save("flipped.jpg")
def CompressImage(image, quality):
image.save("compressed.jpg", quality=quality)
def BlurImage(image, radius):
image.filter(ImageFilter.GaussianBlur(radius))
image.save("blurred.jpg")
def GreyScaleImage(image):
image.convert("L")
image.save("greyscale.jpg")
def ConvertFormat(image, format):
image.save("converted." + format, format)
def Add_Shadow(image, offset, background_color):
image.filter(ImageFilter.BoxBlur(offset))
image.save("shadow.jpg")
def SharpenImage(image, factor):
image.filter(ImageFilter.SHARPEN)
image.save("sharpened.jpg")
if __name__ == "__main__":
image = Image.open("photo.jpg")
ResizeImage(image, (100, 100))
RotateImage(image, 90)
CropImage(image, (0, 0, 100, 100))
FlipImage(image)
CompressImage(image, 50)
BlurImage(image, 10)
GreyScaleImage(image)
ConvertFormat(image, "png")
Add_Shadow(image, 10, "black")
SharpenImage(image, 2)
6. 制作校对工具
你可以使用Python制作自己的校对软件。这个自动化脚本使用Language_tool模块,这是一个LanguageTool语法检查网站的封装。这个模块非常适合修正文本的语法错误和拼写错误。当你有长文本或多个文本或文档文件需要校对时,它非常方便。
# pip install language-tool-python
# 校对工具
import language_tool_python
# 设置语言
tool = language_tool_python.LanguageTool('en-US')
# 校对文本
text = 'The smill of fliwers is good'
matches = tool.check(text)
# 获取错误
for mistake in matches:
print(mistake)
# 更正文本
correction = tool.correct(text)
print(correction)
7. 简单图像下载器
需要一个脚本来节省你寻找和下载图像的时间吗?这个自动化脚本使用Simple_image_download模块,让你可以轻松下载100张图像,任何关键字都可以。
# 自动照片下载器
# pip install simple_image_download
from simple_image_download import simple_image_download
def Download_Images(keyword, no_of_images = 1):
simp = simple_image_download.Downloader()
simp.download(keyword, no_of_images)
print("图像已下载")
if __name__ == "__main__":
Download_Images("猫")
8. URL 短链接生成器
如果有大量需要缩短的链接和URL,可以使用下面的自动化脚本编程,该脚本使用Pyshorteners模块,它使用TinyURL开源API将您的URL转换为可与任何人共享的短网址。
# URL 短链接生成器
# pip install pyshorteners
import pyshorteners
def Shortner(Link):
req = pyshorteners.Shortener()
short = req.tinyurl.short(Link)
print("缩短的 URL: ", short)
return short
if __name__ == "__main__":
Link = input("输入 URL: ")
Shortner(Link)
9. 隐藏CSV模块
不想使用Pandas读取和写入CSV?没关系,使用Python内置的最快CSV模块,它可让你读取、写入和追加CSV数据。下面附上可直接使用的示例代码。
import csv
# 读取 CSV 文件
filename = "test.csv"
with open(filename, 'r') as csvfile:
csvreader = csv.reader(csvfile)
for row in csvreader:
print(row)
# 追加到 CSV 文件
rows = [['John', '作者', '1', '9.5']]
with open(filename, 'a') as csvfile:
csvwriter = csv.writer(csvfile)
csvwriter.writerows(rows)
# 写入 CSV 文件
fields = ['姓名', '专业', '年级', 'CGPA']
rows = [['Haider', '作家', '3', '9.3']]
filename = "test.csv"
with open(filename, 'w') as csvfile:
csvwriter = csv.writer(csvfile)
csvwriter.writerow(fields)
csvwriter.writerows(rows)
10. 获取临时邮箱
如果你想要找一个需要登录的网站,但出于安全考虑,你不想提供自己的邮箱地址,因为害怕收到促销信息和被跟踪。这种情况下就可以使用下面的Python 脚本为你生成一个临时邮箱,用于注册网站。
# 获取临时邮箱
# pip install tempmail-lol
from TempMail import TempMail
mail = TempMail()
# 登录你的临时邮箱
inb = TempMail("输入 24 位 ID", "输入 32 或 36 位 Token")
# 创建新的临时邮箱
email = TempMail.generateInbox(mail)
print(email)
# 检查邮件
inb = TempMail.getEmails(mail, inbox=email)
print(inb)
总结
这些Python脚本展现了Python在自动化日常任务上的多功能性。将它们融入你的工作流程,可以提升效率、节省时间,并减轻重复劳动的压力。不妨探索这些自动化脚本,看看Python如何简化你的生活。