首页 > 编程语言 >Python 常用的 50 个提效小脚本

Python 常用的 50 个提效小脚本

时间:2024-11-01 09:21:02浏览次数:5  
标签:Python text list 50 file print import 提效 data

Python 常用的 50 个提效小脚本

原创 huaan9527 测试开发学习交流 2024年09月28日 11:22 浙江
文件和目录管理

批量重命名文件

  •  
  •  
  •  
import osfor filename in os.listdir('.'):    os.rename(filename, filename.replace('old', 'new'))

查找大文件

  •  
  •  
  •  
  •  
  •  
import osfor root, dirs, files in os.walk('.'):    for name in files:        if os.path.getsize(os.path.join(root, name)) > 1024 * 1024:  # 大于1MB            print(os.path.join(root, name))

创建目录结构

  •  
  •  
import osos.makedirs('dir/subdir/subsubdir', exist_ok=True)

删除空目录

  •  
  •  
  •  
  •  
  •  
  •  
import osfor root, dirs, files in os.walk('.', topdown=False):    for name in dirs:        dir_path = os.path.join(root, name)        if not os.listdir(dir_path):            os.rmdir(dir_path)

复制文件

  •  
  •  
import shutilshutil.copy('source.txt', 'destination.txt')

移动文件

  •  
  •  
import shutilshutil.move('source.txt', 'destination.txt')

读取文件内容

  •  
  •  
with open('file.txt', 'r') as file:    content = file.read()

写入文件内容

  •  
  •  
with open('file.txt', 'w') as file:    file.write('Hello, World!')

追加文件内容

  •  
  •  
with open('file.txt', 'a') as file:    file.write('\nAppend this line.')

检查文件是否存在

  •  
  •  
  •  
  •  
  •  
import osif os.path.exists('file.txt'):    print("File exists.")else:    print("File does not exist.")

 

 

数据处理

读取 CSV 文件

  •  
  •  
  •  
  •  
  •  
import csvwith open('data.csv', 'r') as file:    reader = csv.reader(file)    for row in reader:        print(row)

写入 CSV 文件

  •  
  •  
  •  
  •  
  •  
import csvdata = [['Name', 'Age'], ['Alice', 30], ['Bob', 25]]with open('data.csv', 'w', newline='') as file:    writer = csv.writer(file)    writer.writerows(data)

读取 JSON 文件

  •  
  •  
  •  
import jsonwith open('data.json', 'r') as file:    data = json.load(file)

写入 JSON 文件

  •  
  •  
  •  
  •  
import jsondata = {'name': 'Alice', 'age': 30}with open('data.json', 'w') as file:    json.dump(data, file)

过滤列表中的重复项

  •  
  •  
my_list = [1, 2, 2, 3, 4, 4, 5]unique_list = list(set(my_list))

排序列表

  •  
  •  
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]sorted_list = sorted(my_list)

反转列表

  •  
  •  
my_list = [1, 2, 3, 4, 5]reversed_list = list(reversed(my_list))

合并多个列表

  •  
  •  
  •  
list1 = [1, 2, 3]list2 = [4, 5, 6]combined_list = list1 + list2

获取列表中的最大值

  •  
  •  
my_list = [1, 2, 3, 4, 5]max_value = max(my_list)

获取列表中的最小值

  •  
  •  
my_list = [1, 2, 3, 4, 5]min_value = min(my_list)

 

 

网络请求与爬虫

获取网页内容

  •  
  •  
  •  
import requestsresponse = requests.get('https://www.example.com')print(response.text)

解析 HTML 页面

  •  
  •  
  •  
  •  
  •  
from bs4 import BeautifulSoupsoup = BeautifulSoup(response.text, 'html.parser')titles = soup.find_all('h1')for title in titles:    print(title.text)

下载图片

  •  
  •  
  •  
  •  
import requestsimg_data = requests.get('http://example.com/image.jpg').contentwith open('image.jpg', 'wb') as handler:    handler.write(img_data)

发送 HTTP POST 请求

  •  
  •  
  •  
  •  
import requestspayload = {'key1': 'value1', 'key2': 'value2'}response = requests.post('https://httpbin.org/post', data=payload)print(response.text)

处理 JSON 响应

  •  
  •  
  •  
  •  
import requestsresponse = requests.get('https://api.example.com/data')data = response.json()print(data)

设置超时时间

  •  
  •  
  •  
  •  
  •  
import requeststry:    response = requests.get('https://www.example.com', timeout=5)except requests.Timeout:    print("The request timed out")

处理异常

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
import requeststry:    response = requests.get('https://www.example.com')    response.raise_for_status()except requests.HTTPError as http_err:    print(f"HTTP error occurred: {http_err}")except Exception as err:    print(f"Other error occurred: {err}")

使用会话保持连接

  •  
  •  
  •  
  •  
import requestssession = requests.Session()response = session.get('https://www.example.com')print(response.text)

获取响应头信息

  •  
  •  
  •  
import requestsresponse = requests.get('https://www.example.com')print(response.headers)

设置自定义请求头

  •  
  •  
  •  
  •  
import requestsheaders = {'User-Agent': 'MyApp/1.0'}response = requests.get('https://www.example.com', headers=headers)print(response.text)

 

 

自动化任务

定时执行任务

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
import scheduleimport timedef job():    print("I'm working...")schedule.every(10).seconds.do(job)while True:    schedule.run_pending()    time.sleep(1)

发送电子邮件

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
import smtplibfrom email.mime.text import MIMETextmsg = MIMEText('Hello, this is a test email.')msg['Subject'] = 'Test Email'msg['From'] = '[email protected]'msg['To'] = '[email protected]'s = smtplib.SMTP('localhost')s.send_message(msg)s.quit()

运行系统命令

  •  
  •  
  •  
import subprocessresult = subprocess.run(['ls', '-l'], stdout=subprocess.PIPE)print(result.stdout.decode('utf-8'))

压缩文件

  •  
  •  
  •  
import zipfilewith zipfile.ZipFile('archive.zip', 'w', zipfile.ZIP_DEFLATED) as zipf:    zipf.write('file.txt')

解压文件

  •  
  •  
  •  
import zipfilewith zipfile.ZipFile('archive.zip', 'r') as zipf:    zipf.extractall('extracted_files')

监控文件变化

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
import timeimport osimport hashlibdef get_file_hash(filename):    hasher = hashlib.md5()    with open(filename, 'rb') as f:        buf = f.read()        hasher.update(buf)    return hasher.hexdigest()last_hash = Nonewhile True:    current_hash = get_file_hash('file.txt')    if current_hash != last_hash:        print("File has changed!")        last_hash = current_hash    time.sleep(1)

生成随机数

  •  
  •  
  •  
import randomrandom_number = random.randint(1, 100)print(random_number)

生成随机字符串

  •  
  •  
  •  
  •  
import randomimport stringrandom_string = ''.join(random.choices(string.ascii_letters + string.digits, k=12))print(random_string)

生成随机密码

  •  
  •  
  •  
  •  
import randomimport stringpassword = ''.join(random.choices(string.ascii_letters + string.digits, k=12))print(password)

读取环境变量

  •  
  •  
  •  
import osapi_key = os.getenv('API_KEY')print(api_key)

 

 

文字处理

统计单词数

  •  
  •  
  •  
text = "This is a test. This is only a test."word_count = len(text.split())print(f"Word count: {word_count}")

替换字符串

  •  
  •  
  •  
text = "Hello, World!"new_text = text.replace("World", "Python")print(new_text)

分割字符串

  •  
  •  
  •  
text = "apple,banana,orange"fruits = text.split(',')print(fruits)

连接字符串

  •  
  •  
  •  
fruits = ['apple', 'banana', 'orange']text = ', '.join(fruits)print(text)

检查字符串是否包含子串

  •  
  •  
  •  
text = "Hello, World!"if "World" in text:    print("Found 'World' in the text.")

将字符串转换为大写

  •  
  •  
  •  
text = "hello, world!"upper_text = text.upper()print(upper_text)

将字符串转换为小写

  •  
  •  
  •  
text = "HELLO, WORLD!"lower_text = text.lower()print(lower_text)

去除字符串首尾空格

  •  
  •  
  •  
text = "   Hello, World!   "stripped_text = text.strip()print(stripped_text)

去除字符串中所有空格

  •  
  •  
  •  
text = "Hello,   World!"no_space_text = text.replace(" ", "")print(no_space_text)

格式化字符串

  •  
  •  
  •  
  •  
name = "Alice"age = 30formatted_text = f"Name: {name}, Age: {age}"print(formatted_text)

 

 

图片

测试开发学习交流 测试开发学习交流 741篇原创内容 公众号

 

高级搬砖220 python高级466 测试工程师265 自动化212 自动化测试284 高级搬砖 · 目录       上一篇Pytest的精髓下一篇python socket 模拟 http请求      

 

 

 

 

 

        ​      

微信扫一扫
关注该公众号

标签:Python,text,list,50,file,print,import,提效,data
From: https://www.cnblogs.com/titianblog/p/18519341

相关文章

  • python基础(集合)
    学习目标:集合的概念,创建,增加元素,移除元素,运算(交集,并集,差集,对称差集),推导式一.集合的概念:Python中的集合(set)是一种无序、无重复元素的数据结构,它的元素是不可变的(可哈希的)集合是由大括号{}包围的元素集合如果定义空集合,即不包含任何元素,必须使用set()函数定义二.集合的创建......
  • 基于python的语音识别与蓝牙通信的温控系统
    基于python的语音识别与蓝牙通信的温控系统大家好我是君君学姐,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于python的语音识别与蓝牙通信的温控系统。项目源码以及部署相关请联系小村学长,文末附上联系信息。......
  • python利用openpyxl处理excel(应用案例一)
    一前言环境:win10python3.8二应用案例如上要实现这样一张表格1分析不能去指定在某个位置去插入某个字段,如在a1去插入商品,a2去插入类型。不能这样做,给出字段后,要自动挨个插入2如一级字段批次信息要与它下面的二级字段相对应,二级字段占据了三列,一级字段也要占3列,且要合......
  • python+flask计算机毕业设计骨科门诊患者档案管理系统(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于骨科门诊患者档案管理系统的研究,现有研究主要集中在综合性医院患者档案管理方面,专门针对骨科门诊患者档案管理的研究较少。在国内......
  • 每日python小白:如何打印九九乘法表?
    一、代码展示以防各位心急,咱先搬上来代码:代码一:初级版foriinrange(1,10):forjinrange(1,10):print("%d*%d=%d"%(i,j,i*j),end="")print()效果:代码二:完整版foriinrange(1,10):forjinrange(1,i+1):print("%d*%d=%d"......
  • 【深度学习】从公式推导来深入理解误差反向传播算法2:《深度学习入门基于Python的理论
    《深度学习入门基于Python的理论与实现》中实现了2层全连接神经网络的代码对MNIST数据集的28x28像素0-9手写数字灰度图像进行分类,本文将重点对代码中的two_layer_net类的gradient函数中的误差反向传播的代码进行公式推导验证。验证小批量数据的交叉熵损失函数对第2层权重......
  • 学习python第十天
    今天学习了闭包,语法糖(列表推导式),装饰器,迭代器,生成器相关笔记如下'''知识点:1.闭包2.语法糖(列表推导式)3.装饰器4.迭代器5.生成器'''#高阶函数#deffunc(a):#res=a()#func2()#print(a())##deffunc2():#return"python"#......
  • python的基本数据类型有哪些
    摘要:PYTHON的基本数据类型主要包括:1、数字类型2、字符串类型3、列表类型4、元组类型5、集合类型6、字典类型。数字类型是最常见的数据类型,涉及整数、浮点数、复数等。数字类型在数据科学、机器学习等领域尤为重要,其包含了整形(Int)、浮点型(Float)和复数(Complex)等子类型。它们分......
  • Python基于TensorFlow实现卷积神经网络-双向长短时记忆循环神经网络加注意力机制回归
    说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后关注获取。1.项目背景随着大数据时代的到来,对复杂数据结构的理解和预测成为许多领域的重要课题。在这些领域中,无论是视频分析、语音识别还是自然语言处理,都面临着需......
  • Python常用数据结构
    1.列表(List)列表是Python中最灵活的数据结构之一,像个能装万物的大箱子。你可以把任何类型的对象放进来,甚至可以把列表放进列表里,真是个魔法箱!功能特性:可变:你可以随时增加、删除、修改列表中的元素。有序:元素按插入顺序排列创建和基本操作:#创建一个空列表my_list=[]......