当前位置: 首页 > news >正文

16个好用到爆的Python实用脚本!

以下是16个非常实用的Python脚本示例,每个脚本都有其特定的用途,并且我会附上相应的源码。这些脚本涵盖了数据处理、网络请求、文件操作等多个方面,非常适合初学者和进阶者学习和使用。
在这里插入图片描述

1. 批量重命名文件

import osdef batch_rename(folder_path, prefix):for filename in os.listdir(folder_path):old_file = os.path.join(folder_path, filename)new_file = os.path.join(folder_path, prefix + filename)os.rename(old_file, new_file)# 使用示例
folder_path = 'path/to/your/folder'
prefix = 'new_'
batch_rename(folder_path, prefix)

2. 发送HTTP GET请求

import requestsdef send_get_request(url):response = requests.get(url)return response.text# 使用示例
url = 'http://example.com'
print(send_get_request(url))

3. 读取CSV文件

import csvdef read_csv(file_path):with open(file_path, mode='r', encoding='utf-8') as file:csv_reader = csv.reader(file)for row in csv_reader:print(row)# 使用示例
file_path = 'path/to/your/file.csv'
read_csv(file_path)

4. 写入CSV文件

import csvdef write_csv(file_path, data):with open(file_path, mode='w', encoding='utf-8', newline='') as file:csv_writer = csv.writer(file)for row in data:csv_writer.writerow(row)# 使用示例
file_path = 'path/to/your/file.csv'
data = [['name', 'age'], ['Alice', 30], ['Bob', 25]]
write_csv(file_path, data)

5. 读取JSON文件

import jsondef read_json(file_path):with open(file_path, 'r', encoding='utf-8') as file:return json.load(file)# 使用示例
file_path = 'path/to/your/file.json'
data = read_json(file_path)
print(data)

6. 写入JSON文件

import jsondef write_json(file_path, data):with open(file_path, 'w', encoding='utf-8') as file:json.dump(data, file, ensure_ascii=False, indent=4)# 使用示例
file_path = 'path/to/your/file.json'
data = {'name': 'Alice', 'age': 30}
write_json(file_path, data)

7. 简单的网页爬虫

import requests
from bs4 import BeautifulSoupdef simple_web_crawler(url):response = requests.get(url)soup = BeautifulSoup(response.text, 'html.parser')titles = soup.find_all('title')for title in titles:print(title.text)# 使用示例
url = 'http://example.com'
simple_web_crawler(url)

8. 计算文件夹大小

import osdef calculate_folder_size(folder_path):total_size = 0for root, dirs, files in os.walk(folder_path):for file in files:file_path = os.path.join(root, file)total_size += os.path.getsize(file_path)return total_size# 使用示例
folder_path = 'path/to/your/folder'
print(f'Folder size: {calculate_folder_size(folder_path)} bytes')

9. 检查网站是否可访问

import requestsdef check_website_availability(url):try:response = requests.get(url)return response.status_code == 200except requests.ConnectionError:return False# 使用示例
url = 'http://example.com'
print(check_website_availability(url))

10. 简单的数据清洗(去除空格和换行符)

def clean_data(data):return [item.strip() for item in data if item.strip()]# 使用示例
data = [' Alice ', 'Bob\n', 'Charlie', '']
cleaned_data = clean_data(data)
print(cleaned_data)

11. 合并多个Excel文件

import pandas as pddef merge_excel_files(folder_path):merged_df = pd.DataFrame()for file in os.listdir(folder_path):if file.endswith('.xlsx'):file_path = os.path.join(folder_path, file)df = pd.read_excel(file_path)merged_df = pd.concat([merged_df, df], ignore_index=True)return merged_df# 使用示例
folder_path = 'path/to/your/excel/files'
merged_data = merge_excel_files(folder_path)
print(merged_data)

12. 提取PDF文件中的文本

import PyPDF2def extract_text_from_pdf(pdf_path):with open(pdf_path, 'rb') as file:pdf_reader = PyPDF2.PdfFileReader(file)text = ''for page_num in range(pdf_reader.numPages):page = pdf_reader.getPage(page_num)text += page.extractText()return text# 使用示例
pdf_path = 'path/to/your/file.pdf'
text = extract_text_from_pdf(pdf_path)
print(text)

13. 发送电子邮件

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipartdef send_email(sender_email, receiver_email, password, subject, body):message = MIMEMultipart()message['From'] = sender_emailmessage['To'] = receiver_emailmessage['Subject'] = subjectmessage.attach(MIMEText(body, 'plain'))server = smtplib.SMTP('smtp.gmail.com', 587)server.starttls()server.login(sender_email, password)text = message.as_string()server.sendmail(sender_email, receiver_email, text)server.quit()# 使用示例
sender_email = 'your_email@gmail.com'
receiver_email = 'receiver_email@gmail.com'
password = 'your_password'
subject = 'Test Email'
body = 'This is a test email.'
send_email(sender_email, receiver_email, password, subject, body)

14. 简单的文本加密和解密(使用Base64)

import base64def encrypt_text(text):return base64.b64encode(text.encode()).decode()def decrypt_text(encrypted_text):return base64.b64decode(encrypted_text).decode()# 使用示例
text = 'Hello, World!'
encrypted_text = encrypt_text(text)
print(f'Encrypted: {encrypted_text}')
decrypted_text = decrypt_text(encrypted_text)
print(f'Decrypted: {decrypted_text}')

15. 生成随机密码

import random
import stringdef generate_password(length):characters = string.ascii_letters + string.digits + string.punctuationreturn ''.join(random.choice(characters) for i in range(length))# 使用示例
password_length = 12
password = generate_password(password_length)
print(password)

16. 检查密码强度

python
def check_password_strength(password):strength = 0if len(password) >= 8:strength += 1if any(char.isdigit() for char in

关于Python学习指南

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!
————————————————

在这里插入图片描述

**全套Python学习资料分享:
👉Python所有方向的学习路线👈

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取)

​​​​在这里插入图片描述

👉学习软件

在这里插入图片描述

👉全套PDF电子书

在这里插入图片描述

👉实战案例
在这里插入图片描述

👉Python副业兼职路线&方法👈
学好 Python 不论是就业还是做副业赚钱都不错,但要学会兼职接单还是要有一个学习规划。

在这里插入图片描述

👉 这份完整版的Python全套学习资料已经上传,朋友们如果需要可以扫描下方CSDN官方认证二维码或者点击链接免费领取保证100%免费

在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 如何用密码保护你的 WordPress 管理员 (wp-admin) 目录
  • 互联网之光与人工智能之光交相辉映,如何抓住5G人工智能红利
  • 为什么企业需要进行能源体系认证?
  • 8.3 字符串中等 306 Additive Number 423 Reconstruct Original Digits from English
  • leetcode 贪心专题——java实现
  • Weblogic 漏洞
  • 【Python系列】Poetry使用指南
  • Excel第33享:借助易用宝将多个表格合并到一个表格
  • 【leetcode】相同的树、另一棵树的子树、翻转二叉树(利用深度优先遍历)
  • 用Babylon.js 滑动屏幕画图形,签字等
  • [云原生]三、Kubernetes(1.18)
  • 论文阅读:Most Probable Densest Subgraphs
  • 二手车交易系统开发设计源码及功能解析
  • M21170G-12
  • Unity射击游戏开发教程:(31)制造一定追踪行为的敌人
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • Django 博客开发教程 16 - 统计文章阅读量
  • fetch 从初识到应用
  • js如何打印object对象
  • Mybatis初体验
  • rc-form之最单纯情况
  • Sequelize 中文文档 v4 - Getting started - 入门
  • Spring Cloud中负载均衡器概览
  • Spring框架之我见(三)——IOC、AOP
  • Transformer-XL: Unleashing the Potential of Attention Models
  • vue中实现单选
  • Web标准制定过程
  • 和 || 运算
  • 基于HAProxy的高性能缓存服务器nuster
  • 想使用 MongoDB ,你应该了解这8个方面!
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • ​如何在iOS手机上查看应用日志
  • #AngularJS#$sce.trustAsResourceUrl
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • (1)虚拟机的安装与使用,linux系统安装
  • (26)4.7 字符函数和字符串函数
  • (C++17) optional的使用
  • (k8s中)docker netty OOM问题记录
  • (第30天)二叉树阶段总结
  • (分布式缓存)Redis分片集群
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (一)基于IDEA的JAVA基础1
  • (一)基于IDEA的JAVA基础10
  • (转)fock函数详解
  • (转)IOS中获取各种文件的目录路径的方法
  • (转)平衡树
  • (自用)仿写程序
  • **PHP分步表单提交思路(分页表单提交)
  • .Net 6.0 处理跨域的方式
  • .NET C# 使用GDAL读取FileGDB要素类
  • .net framework 4.0中如何 输出 form 的name属性。
  • .NET MAUI Sqlite数据库操作(二)异步初始化方法
  • .NET 反射 Reflect