社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

10 个超实用的 Python 脚本

数据STUDIO • 8 月前 • 305 次点击  


Python 是一种通用编程语言,以其简单易读而著称。它被广泛应用于从网络开发到数据分析等各个领域。在本文中,我们将探讨十个 Python 脚本,它们可以通过自动执行常见任务让你的生活更轻松。

1. 使用 Pandas 进行数据分析

Pandas[1]是一个强大的数据分析和处理库。只需几行代码,你就可以从 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[2]是一个用于网络抓取的 Python 库。它能让你轻松地从网站中提取数据。下面是一个简单的网络抓取脚本:

import requests
from bs4 import BeautifulSoup

url = '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 os

folder_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[3]是一个简化图像处理的 Python 图像库。该脚本可将一批图像的大小调整为指定的分辨率或长宽比:

from PIL import Image
import os

input_folder = '/path/to/images'
output_folder = '/path/to/resized_images'
desired_size = (100100)

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[4]是一个用 Python 创建 PDF 文档的库。你可以从文本或 HTML 内容生成 PDF 文件。下面是一个基本示例:

from reportlab.pdfgen import canvas

pdf_file = 'output.pdf'
text = 'Hello, this is a sample PDF.'

c = canvas.Canvas(pdf_file)
c.drawString(100750 , text)
c.save()

6. 使用 smtplib 自动发送电子邮件

需要自动发送电子邮件?Python 的 smtplib 库可以提供帮助。该脚本可通过编程发送电子邮件:

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

smtp_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, 587as server:
    server.starttls()
    server.login(sender_email, password)
    server.sendmail(sender_email, receiver_email, message.as_string())

7. 数据备份脚本

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

import shutil

source_folder = '/path/to/source_folder'
backup_folder = '/path/to/backup_folder'

shutil.copytree(source_folder, backup_folder)

8. 密码生成器

生成强大的随机密码,提高安全性:

import random
import string

def generate_password(length=12):
    characters = string.ascii_letters + string.digits + string.punctuation
    return ''.join(random.choice(characters) for _ in range(length))

password = generate_password()
print(password)

9. 简单Web服务器

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

import http.server
import socketserver

port = 8000

with 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 数据库的示例代码,这是一种轻量级的常用数据库系统:

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':
        break
    else:
        print("Invalid choice. Please enter 1, 2, or 3.")

在此代码中

  1. backup_database()函数复制 SQLite 数据库源文件并将其命名为备份文件。你可以运行此函数来创建数据库备份。
  2. restore_database() 函数将备份文件复制回源文件,有效地将数据库恢复到创建备份时的状态。
  3. 用户可选择备份数据库、恢复数据库或退出程序。
  4. 你可以调整 source_db_filebackup_db_file 变量,指定 SQLite 源文件和备份数据库文件的路径。

参考资料

[1]

Pandas: https://pandas.pydata.org/

[2]

BeautifulSoup: https://www.crummy.com/software/BeautifulSoup/

[3]

Pillow: https://python-pillow.org/

[4]

ReportLab: https://www.reportlab.com/


🏴‍☠️宝藏级🏴‍☠️ 原创公众号『数据STUDIO』内容超级硬核。公众号以Python为核心语言,垂直于数据科学领域,包括可戳👉 PythonMySQL数据分析数据可视化 机器学习与数据挖掘爬虫 等,从入门到进阶!

长按👇关注- 数据STUDIO -设为星标,干货速递

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/171150
 
305 次点击