用于日常任务的实用 Python 脚本

Python 是一种多功能编程语言,以其简单易读而闻名。它广泛应用于从 Web 开发到数据分析等各个领域。Python 脚本,它们可以通过自动执行常见任务来使您的生活更轻松。

用于日常任务的实用 Python 脚本

  • 1. 使用 Pandas 进行数据分析
  • 2. 使用 BeautifulSoup 进行网页抓取
  • 3. 文件重命名
  • 4. 使用 Pillow 调整图像大小
  • 5. 使用 ReportLab 的 PDF 生成器
  • 6. 使用 smtplib 自动发送邮件
  • 7.数据备份脚本
  • 8. 密码生成器
  • 9. 简单的 Web 服务器
  • 10. 使用 SQLite 进行数据库备份和恢复
  • 11. 网站抓取脚本
  • 12. 文件下载脚本

1. 使用 Pandas 进行数据分析

Pandas是一个功能强大的数据分析和处理库。只需几行代码,您就可以读取、清理和分析来自各种来源(如 CSV 文件或数据库)的数据。以下是示例脚本:

import pandas as pd# Read data from a CSV file
data = pd.read_csv('data.csv')# Perform basic analysis
mean = data['column_name'].mean()
print(f"Mean: {mean}")

2. 使用 BeautifulSoup 进行网页抓取

BeautifulSoup是一个用于网页抓取的 Python 库。它允许您轻松地从网站提取数据。这是一个简单的网页抓取脚本:

import requests
from bs4 import BeautifulSoupurl = 'https://example.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')# Extract data from the webpage
data = soup.find('div', class_='content')
print(data.text)

3. 文件重命名

当您需要根据特定条件重命名文件夹中的多个文件时,此脚本非常方便。例如,您可以添加前缀、后缀或替换文件名中的文本。

import osfolder_path = '/path/to/folder'
for filename in os.listdir(folder_path):if filename.startswith('prefix_'):new_filename = filename.replace('prefix_', 'new_prefix_')os.rename(os.path.join(folder_path, filename), os.path.join(folder_path, new_filename))

4. 使用 Pillow 调整图像大小

Pillow是一个 Python 图像库,可简化图像处理。此脚本将一批图像调整为指定的分辨率或纵横比。

from PIL import Image
import osinput_folder = '/path/to/images'
output_folder = '/path/to/resized_images'
desired_size = (100, 100)for filename in os.listdir(input_folder):with Image.open(os.path.join(input_folder, filename)) as img:img.thumbnail(desired_size)img.save(os.path.join(output_folder, filename))

5. 使用 ReportLab 的 PDF 生成器

ReportLab是一个用 Python 创建 PDF 文档的库。您可以从文本或 HTML 内容生成 PDF 文件。这是一个基本示例:

from reportlab.pdfgen import canvaspdf_file = 'output.pdf'
text = 'Hello, this is a sample PDF.'c = canvas.Canvas(pdf_file)
c.drawString(100, 750, text)
c.save()

6. 使用 smtplib 自动发送邮件

需要发送自动电子邮件吗?Python 的smtplib库可以提供帮助。此脚本以编程方式发送电子邮件:

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipartsmtp_server = 'smtp.example.com'
sender_email = 'your_email@example.com'
receiver_email = 'recipient@example.com'
password = 'your_password'message = MIMEMultipart()
message['From'] = sender_email
message['To'] = receiver_email
message['Subject'] = 'Sample Email Subject'body = 'This is a sample email message.'
message.attach(MIMEText(body, 'plain'))with smtplib.SMTP(smtp_server, 587) as server:server.starttls()server.login(sender_email, password)server.sendmail(sender_email, receiver_email, message.as_string())

7.数据备份脚本

自动备份文件和目录,确保数据安全:

import shutilsource_folder = '/path/to/source_folder'
backup_folder = '/path/to/backup_folder'shutil.copytree(source_folder, backup_folder)

8. 密码生成器

生成强而随机的密码以提高安全性:

import random
import stringdef generate_password(length=12):characters = string.ascii_letters + string.digits + string.punctuationreturn ''.join(random.choice(characters) for _ in range(length))password = generate_password()
print(password)

9. 简单的 Web 服务器

创建一个用于测试和开发的基本 HTTP 服务器:

import http.server
import socketserverport = 8000with socketserver.TCPServer(('', port), http.server.SimpleHTTPRequestHandler) as httpd:print(f"Serving at port {port}")httpd.serve_forever()

10. 使用 SQLite 进行数据库备份和恢复

SQLite 是一个 C 库,它提供了一个轻量级的基于磁盘的数据库,不需要单独的服务器进程,并允许使用 SQL 查询语言的非标准变体访问数据库。一些应用程序可以使用 SQLite 进行内部数据存储。还可以使用 SQLite 制作应用程序原型,然后将代码移植到更大的数据库(如 PostgreSQL 或 Oracle)。

下面我将为您提供一个使用 Python 备份和恢复 SQLite 数据库的示例代码,SQLite 是一个轻量级且常用的数据库系统:

import sqlite3
import shutil# Database file paths
source_db_file = 'source.db'
backup_db_file = 'backup.db'# Function to create a backup of the SQLite database
def backup_database():try:shutil.copy2(source_db_file, backup_db_file)print("Backup successful.")except Exception as e:print(f"Backup failed: {str(e)}")# Function to restore the SQLite database from a backup
def restore_database():try:shutil.copy2(backup_db_file, source_db_file)print("Restore successful.")except Exception as e:print(f"Restore failed: {str(e)}")# Usage
while True:print("Options:")print("1. Backup Database")print("2. Restore Database")print("3. Quit")choice = input("Enter your choice (1/2/3): ")if choice == '1':backup_database()elif choice == '2':restore_database()elif choice == '3':breakelse:print("Invalid choice. Please enter 1, 2, or 3.")

在此代码中:

  • backup_database()函数复制源 SQLite 数据库文件并将其命名为备份文件。您可以运行此函数来创建数据库的备份。
  • restore_database()函数将备份文件复制回源文件,有效地将数据库恢复到创建备份时的状态。

向用户提供备份数据库、恢复数据库或退出程序的选项。您可以调整source_db_file和backup_db_file变量来指定 SQLite 源和备份数据库文件的路径。

11. 网站抓取脚本

此脚本自动从指定网站抓取数据。

import requests
from bs4 import BeautifulSoupurl = 'http://example.com/'response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')# find all links on the page
links = soup.find_all('a')for link in links

12. 文件下载脚本

此脚本自动从互联网下载指定的文件。

import requestsfile_url = 'http://example.com/file.txt'
destination_path = '/path/to/destination/folder/file.txt'response = requests.get(file_url)with open(destination_path, 'wb') as f:f.write(response.content)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/19690.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

服务器怎么被远程桌面连接不上,远程桌面连接不上服务器的问题有效解决方案

远程桌面连接不上服务器是一个极其严重的问题,它可能直接影响到我们的工作效率、数据安全,甚至是整个业务运营的顺畅。因此,这个问题必须得到迅速且有效的解决。 当我们尝试远程桌面连接服务器时,可能会遇到连接不上的情况。这其中…

MFC:初步理解序列化与反序列化(含代码实现)

序列化与反序列化是MFC将对象数据以二进制数据流的形式进行存储和读取的机制,读、写的效率很高。通过序列化与反序列化,可以将程序中对象在内存中数据保存到文件 (磁盘) 或者从文件 (磁盘) 中读取到内存以恢复对象数据,从而实现程序对数据的持…

RxSwift - 实现一个MVVM架构的TableView

文章目录 RxSwift - 实现一个MVVM架构的TableView前沿MVVM架构的Tableview目录结构1、模型(Model)2、视图模型(ViewModel)3、视图(View) 界面效果 RxSwift - 实现一个MVVM架构的TableView 前沿 MVVM架构在…

分享一个实用的MySQL一键巡检脚本

今日分享一个实用的MySQL一键巡检脚本,脚本内容还不是很完善,后续会继续进行优化。大家可以先在测试环境执行,确认执行没问题后可以在生产环境进行操作,问题的可以私信我。 MySQL一键巡检脚本的作用主要是帮助数据库管理员快速且…

redux状态管理用法详解

在React中使用redux,官方要求安装俩个其他插件 - Redux Toolkit 和 react-redux 1.ReduxToolkit (RTK) 官方推荐编写 Redux 逻辑的方式,是一套工具的集合集,简化书写方式 简化 store 的配置方式; 内置 immer 支持…

dubbo复习:(19)dubbo 和spring整合(老古董)

一、服务端依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM…

华为SSH实验

华为SSH实验 实验拓扑&#xff1a; 实验要求&#xff1a;从SSH客户端AR1采用stelnet方式登录到SSH 服务器端。 实验步骤&#xff1a; 1.完成基本配置&#xff08;略&#xff09; sys Enter system view, return user view with CtrlZ. [AR1]sys CLIENT [CLIENT]INT g0/0/0 [C…

ECMAScript 详解:深入理解 JavaScript 的核心标准

ECMAScript 详解&#xff1a;深入理解 JavaScript 的核心标准 如果你是一名前端开发者&#xff0c;或者只是对编程感兴趣&#xff0c;那么你一定听说过 ECMAScript。它是 JavaScript 的标准&#xff0c;是现代 web 开发的基础。那么&#xff0c;究竟什么是 ECMAScript&#xf…

智能网联汽车翻译

智能网联汽车 自动驾驶功能场地试验方法及要求 2022-10-20 10:13:01 ChinaAutoRegs|GB/T 41798-2022英文版翻译 智能网联汽车 自动驾驶功能场地试验方法及要求 Intelligent and connected vehicles——Field testing methods and requirements for automated driving function…

打造你的首个QT 5计算器应用

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言&#xff1a;QT 5的力量与我们的计算器 二、QT 5基础&#xff1a;理解UI设计与文件…

Java多线程(04)—— 保证线程安全的方法与线程安全的集合类

一、CAS 与原子类 1. CAS CAS&#xff08;compare and swap&#xff09;&#xff0c;是一条 cpu 指令&#xff0c;其含义为&#xff1a;CAS(M, A, B); M 表示内存&#xff0c;A 和 B 分别表示一个寄存器&#xff1b;如果 M 的值和 A 的值相同&#xff0c;则把 M 和 B 的值交…

数字IC基础:主要的FPGA厂商

相关阅读 数字IC基础https://blog.csdn.net/weixin_45791458/category_12365795.html?spm1001.2014.3001.5482 Xilinx&#xff08;现已被AMD收购&#xff09; Xilinx, 成立于1984年&#xff0c;是FPGA&#xff08;现场可编程门阵列&#xff09;技术的创始者和市场领导者。该公…

dmdts连接kingbase8报错

dmdts连接kingbase报错 环境介绍1 人大金仓jdbc配置2 dmdts 人大金仓jdbc默认配置3 dmdts 修改jdbc配置4 达梦产品学习使用列表 环境介绍 dts版本 使用dmdts连接kingbase金仓数据库报错 无效的URL 对比jdbc连接串,修改配置解决 1 人大金仓jdbc配置 配置URL模版信息等 类名…

民国漫画杂志《时代漫画》第36期.PDF

时代漫画36.PDF: https://url03.ctfile.com/f/1779803-1248636233-8a4a9d?p9586 (访问密码: 9586) 《时代漫画》的杂志在1934年诞生了&#xff0c;截止1937年6月战争来临被迫停刊共发行了39期。 ps: 资源来源网络!

【高校科研前沿】南大王栋、吴吉春教授团队在深度学习助力水库生态调度和优化管理方面取得新进展,成果以博士生邱如健为一作发表于水环境领域国际权威期刊

1.文章简介 论文名称&#xff1a;Integration of deep learning and improved multi-objective algorithm to optimize reservoir operation for balancing human and downstream ecological needs 第一作者及单位&#xff1a;邱如健&#xff08;博士生 南京大学&#xff09;…

Linux自动挂载服务autofs讲解

1.产生原因 2.配置文件讲解 总结&#xff1a;配置客户端&#xff0c;先构思好要挂载的目录如&#xff1a;/abc/cb 然后在autofs.master中编辑&#xff1a; /abc&#xff08;要挂载的主目录&#xff09; /etc/qwe&#xff08;在这个文件里去找要挂载的副目录&#xff0c;这个名…

MySQL基础索引知识【索引创建删除 | MyISAM InnoDB引擎原理认识】

博客主页&#xff1a;花果山~程序猿-CSDN博客 文章分栏&#xff1a;MySQL之旅_花果山~程序猿的博客-CSDN博客 关注我一起学习&#xff0c;一起进步&#xff0c;一起探索编程的无限可能吧&#xff01;让我们一起努力&#xff0c;一起成长&#xff01; 目录 一&#xff0c;索引用…

JMeter源码解析之NewDriver.java(二)完结

JMeter源码解析之NewDriver.java&#xff08;二&#xff09;完结 NewDriver.java主要作用 JMeter程序入口&#xff1a;JMeter的主类-设置初始类路径和加载程序。 文件路径 路径地址&#xff1a;…\apache-jmeter-5.1\src\core\org\apache\jmeter\NewDriver.java 关于Main内…

8-异常与错误

8-异常与错误 1、简介2、异常处理2.1 抛出异常2.2 捕获异常2.3 匹配顺序 3、异常说明4、构造函数中的异常5、析构函数中的异常6、标准库异常 1、简介 在程序编码过程中难免会出现错误&#xff0c;主要有&#xff1a;语法错误、逻辑错误、功能错误等&#xff0c;当我们面对以上…

密闭空间作业应如何做好安全防护?

在现代工业与日常工作中&#xff0c;密闭空间作业已逐渐成为许多行业不可或缺的一部分。然而&#xff0c;这些看似寻常的空间却隐藏着诸多不为人知的风险。从窒息性气体到易燃易爆物质&#xff0c;从物理性危险到心理压力&#xff0c;每一项都足以威胁到作业人员的生命安全。因…