当前位置: 欣欣网 > 码农

27个实用Python实例

2024-01-29码农

1. 文件操作:

# 创建文件并写入内容withopen('example.txt', 'w') asfile: file.write('Hello, world!')# 读取文件内容withopen('example.txt', 'r') asfile:content = file.read() print(content)

2. 网络请求:

import requests# 发送GET请求并获取响应内容response = requests.get('https://api.github.com')print(response.text)

3. 数据库连接:

import sqlite3# 连接数据库并执行查询conn = sqlite3.connect('example.db')cursor = conn.cursor()cursor.execute('SELECT * FROM users')results = cursor.fetchall()# 打印查询结果for row in results: print(row)# 关闭连接conn.close()

4. 数据分析

import pandas as pd# 读取CSV文件data = pd.read_csv('data.csv')# 统计数据mean = data.mean()max_value = data.max()# 打印统计结果print(mean)print(max_value)

5. 图像处理

from PIL import Image# 打开图像文件image = Image.open('image.jpg')# 调整尺寸resized_image = image.resize((500, 500))# 保存处理后的图像resized_image.save('resized_image.jpg')

6. 文本处理:

# 拆分句子sentence = 'Hello, how are you?'words = sentence.split(' ')print(words)# 替换字符串text = 'Hello, world!'new_text = text.replace('world', 'Python')print(new_text)

7. 时间处理

from datetime import datetime# 获取当前时间now = datetime.now()print(now)# 格式化时间formatted_time = now.strftime('%Y-%m-%d %H:%M:%S')print(formatted_time)

8. 正则表达式

import re# 匹配邮箱地址email = '[email protected]'pattern = r'^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$'match = re.match(pattern, email)if match: print('Valid email')else: print('Invalid email')

9. GUI应用

import tkinter as tk# 创建窗口window = tk.Tk()# 添加标签label = tk.Label(window, text='Hello, world!')label.pack()# 运行窗口window.mainloop()

10. 数据加密

import hashlib# 对字符串进行MD5加密string = 'Hello, world!'hashed_string = hashlib.md5(string.encode()).hexdigest()print(hashed_string)

11. 图表绘制

import matplotlib.pyplot as plt# 绘制折线图x = [1, 2, 3, 4, 5]y = [1, 4, 9, 16, 25]plt.plot(x, y)plt.show()

12. 邮件发送

import smtplibfrom email.mime.text import MIMEText# 设置邮箱信息sender = '[email protected]'receiver = '[email protected]'subject = 'Hello'message = 'This is a test email.'# 创建邮件对象msg = MIMEText(message)msg['Subject'] = subjectmsg['From'] = sendermsg['To'] = receiver# 发送邮件smtp_server = 'smtp.example.com'smtp_port = 587smtp_username = 'username'smtp_password = 'password'with smtplib.SMTP(smtp_server, smtp_port) as server: server.starttls() server.login(smtp_username, smtp_password) server.sendmail(sender, receiver, msg.as_string())

13. 密码生成器

import randomimport string# 生成随机密码length = 10characters = string.ascii_letters + string.digits + string.punctuationpassword = ''.join(random.choice(characters) for _ inrange(length))print(password)

14. 数据爬取

import requestsfrom bs4 import BeautifulSoup# 发送请求并解析页面response = requests.get('https://www.example.com')soup = BeautifulSoup(response.text, 'html.parser')# 提取数据title = soup.title.textprint(title)

15. Excel操作

import openpyxl# 创建Excel文件并写入数据workbook = openpyxl.Workbook()sheet = workbook.activesheet['A1'] = 'Hello'sheet['B1'] = 'World'workbook.save('example.xlsx')# 读取Excel文件内容workbook = openpyxl.load_workbook('example.xlsx')sheet = workbook.activecell_value = sheet['A1'].valueprint(cell_value)

16. 数据可视化

import seaborn as sns# 绘制散点图data = sns.load_dataset('iris')sns.scatterplot(x='sepal_length', y='sepal_width', data=data)plt.show()

17. 调用外部命令

import subprocess# 执行外部命令并获取输出result = subprocess.run(['ls', '-l'], capture_output=True, text=True)print(result.stdout)

18. PDF操作

import PyPDF2# 合并多个PDF文件pdf_files = ['file1.pdf', 'file2.pdf', 'file3.pdf']merged_pdf = PyPDF2.PdfMerger()for file in pdf_files:with open(file, 'rb') as pdf: merged_pdf.append(pdf)with open('merged.pdf', 'wb') as output: merged_pdf.write(output)

19. 机器学习:

from sklearn.linear_model import LinearRegressionfrom sklearn.model_selection import train_test_split# 加载数据集data = pd.read_csv('data.csv')X = data[['feature1', 'feature2']]y = data['target']# 划分训练集和测试集X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)# 创建线性回归模型并训练model = LinearRegression()model.fit(X_train, y_train)# 预测结果predictions = model.predict(X_test)

20. 文字转语音

import pyttsx3# 创建文字转语音引擎engine = pyttsx3.init()# 设置语速rate = engine.getProperty('rate')engine.setProperty('rate', rate - 50)# 文字转语音text = 'Hello, world!'engine.say(text)engine.runAndWait()

21. Web框架(Flask)

from flask import Flaskapp = Flask(__name__)@app.route('/')defhello_world():return'Hello, world!'if __name__ == '__main__': app.run()

22. 数据可视化(Plotly)

import plotly.express as px# 绘制饼图data = {'category': ['A', 'B', 'C'], 'value': [20, 30, 50]}fig = px.pie(data, values='value', names='category')fig.show()

23. 自然语言处理(NLTK)

import nltk# 分词sentence = 'Hello, how are you?'tokens = nltk.word_tokenize(sentence)print(tokens)# 词性标注tagged = nltk.pos_tag(tokens)print(tagged)

24. 数据爬取(Scrapy)

import scrapy classMySpider(scrapy.Spider): name = 'example' start_urls = ['https://www.example.com']defparse(self, response): title = response.xpath('//title/text()').get() print(title)# 运行爬虫from scrapy.crawler import CrawlerProcessprocess = CrawlerProcess()process.crawl(MySpider)process.start()

25. 并发编程(Multiprocessing)

import multiprocessing# 定义并发任务defworker(name): print('Worker', name)# 创建并发进程池pool = multiprocessing.Pool()# 启动并发任务for i in range(5): pool.apply_async(worker, args=(i,))# 等待所有任务完成pool.close()pool.join()

26. 数据压缩(zlib)

import zlib# 压缩数据data = b'Hello, world!'compressed_data = zlib.compress(data)print(compressed_data)# 解压缩数据decompressed_data = zlib.decompress(compressed_data)print(decompressed_data)

27. 人脸识别(dlib)

importdlibimportcv2# 加载人脸检测器和预训练模型detector = dlib.get_frontal_face_detector()predictor = dlib.shape_predictor('shape_predictor_68_face_landmarks.dat')# 加载图像并进行人脸识别img_path = 'image.jpg'img = cv2.imread(img_path)gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)faces = detector(gray)# 标注人脸关键点forface in faces:landmarks = predictor(gray, face)forn in range(68):x = landmarks.part(n).xy = landmarks.part(n).ycv2.circle(img,(x, y), 2, (0, 255, 0), -1)# 显示结果图像cv2.imshow('Image',img)cv2.waitKey(0)cv2.destroyAllWindows()