总结---20个工作中一定会用到的python实用小脚本

news2024/11/5 14:40:26

一、文件批量重命名

功能:将指定文件夹下的所有文件按照一定规则进行重命名。 使用方法

import os
​
def batch_rename(folder_path, prefix):
    files = os.listdir(folder_path)
    for index, file_name in enumerate(files):
        old_file_path = os.path.join(folder_path, file_name)
        new_file_name = f"{prefix}_{index}.txt"
        new_file_path = os.path.join(folder_path, new_file_name)
        os.rename(old_file_path, new_file_path)
​
folder_path = "your_folder_path"
prefix = "new_name"
batch_rename(folder_path, prefix)

your_folder_path替换为实际的文件夹路径,prefix设置为新文件名的前缀。

二、统计文件行数

功能:统计指定文件中的行数。 使用方法

def count_lines(file_path):
    with open(file_path, 'r') as file:
        lines = file.readlines()
    return len(lines)
​
file_path = "your_file.txt"
print(count_lines(file_path))

your_file.txt替换为要统计行数的文件路径。

三、提取文本中的特定内容

功能:从给定文本中提取特定的关键字或模式。 使用方法

import re
​
text = "This is a sample text with some keywords."
pattern = r"keywords"
matches = re.findall(pattern, text)
print(matches)

根据实际需求修改textpattern

四、生成随机密码

功能:生成指定长度的随机密码。 使用方法

import random
import string
​
def generate_password(length):
    characters = string.ascii_letters + string.digits + string.punctuation
    password = ''.join(random.choice(characters) for _ in range(length))
    return password
​
length = 10
print(generate_password(length))

设置length为所需密码的长度。

五、图片格式转换

功能:将一种图片格式转换为另一种格式。 使用方法

from PIL import Image
​
def convert_image(input_path, output_path, output_format):
    img = Image.open(input_path)
    img.save(output_path, format=output_format)
​
input_path = "input.jpg"
output_path = "output.png"
output_format = "PNG"
convert_image(input_path, output_path, output_format)

修改input_pathoutput_pathoutput_format为实际的路径和格式。

六、获取当前日期时间

功能:获取当前的日期和时间。 使用方法

from datetime import datetime
​
now = datetime.now()
print(now)

七、计算两个日期之间的天数

功能:计算两个给定日期之间的天数差。 使用方法

from datetime import date
​
date1 = date(2023, 1, 1)
date2 = date(2023, 1, 10)
diff = date2 - date1
print(diff.days)

修改date1date2为实际的日期。

八、文本文件内容去重

功能:去除文本文件中的重复行。 使用方法

def remove_duplicates(file_path):
    with open(file_path, 'r') as file:
        lines = file.readlines()
    unique_lines = list(set(lines))
    with open(file_path, 'w') as file:
        file.writelines(unique_lines)
​
file_path = "your_file.txt"
remove_duplicates(file_path)

九、检查文件是否存在

功能:检查指定路径的文件是否存在。 使用方法

import os
​
file_path = "your_file.txt"
if os.path.exists(file_path):
    print(f"{file_path} exists.")
else:
    print(f"{file_path} does not exist.")

十、合并多个文本文件

功能:将多个文本文件的内容合并到一个文件中。 使用方法

def merge_files(input_files, output_file):
    with open(output_file, 'w') as outfile:
        for file_name in input_files:
            with open(file_name, 'r') as infile:
                outfile.write(infile.read())
​
input_files = ["file1.txt", "file2.txt"]
output_file = "merged.txt"
merge_files(input_files, output_file)

修改input_filesoutput_file为实际的文件列表和输出文件名。

十一、获取文件夹大小

功能:计算指定文件夹的大小。 使用方法

import os
​
def get_folder_size(folder_path):
    total_size = 0
    for dirpath, dirnames, filenames in os.walk(folder_path):
        for f in filenames:
            fp = os.path.join(dirpath, f)
            total_size += os.path.getsize(fp)
    return total_size
​
folder_path = "your_folder_path"
print(get_folder_size(folder_path))

十二、生成随机字符串

功能:生成指定长度的随机字符串。 使用方法

import random
import string
​
def random_string(length):
    letters = string.ascii_lowercase
    return ''.join(random.choice(letters) for _ in range(length))
​
length = 8
print(random_string(length))

十三、计算文件的哈希值

功能:计算文件的 MD5 或其他哈希值。 使用方法

import hashlib
​
def hash_file(file_path):
    hash_md5 = hashlib.md5()
    with open(file_path, "rb") as f:
        for chunk in iter(lambda: f.read(4096), b""):
            hash_md5.update(chunk)
    return hash_md5.hexdigest()
​
file_path = "your_file.txt"
print(hash_file(file_path))

十四、转换大小写

功能:将文本中的字母转换为大写或小写。 使用方法

text = "Hello, WORLD!"
lowercase_text = text.lower()
uppercase_text = text.upper()
print(lowercase_text)
print(uppercase_text)

十五、分割文本文件

功能:将一个大的文本文件分割成多个小文件。 使用方法

def split_file(input_file, lines_per_file):
    with open(input_file, 'r') as infile:
        line_count = 0
        file_number = 1
        outfile = None
        for line in infile:
            if line_count % lines_per_file == 0:
                if outfile:
                    outfile.close()
                outfile_name = f"split_{file_number}.txt"
                outfile = open(outfile_name, 'w')
                file_number += 1
            outfile.write(line)
            line_count += 1
        if outfile:
            outfile.close()
​
input_file = "big_file.txt"
lines_per_file = 1000
split_file(input_file, lines_per_file)

十六、获取 IP 地址

功能:获取本地计算机的 IP 地址。 使用方法

import socket
​
def get_ip_address():
    hostname = socket.gethostname()
    ip_address = socket.gethostbyname(hostname)
    return ip_address
​
print(get_ip_address())

十七、提取网页标题

功能:从给定的 URL 中提取网页的标题。 使用方法

import requests
from bs4 import BeautifulSoup
​
def get_page_title(url):
    response = requests.get(url)
    soup = BeautifulSoup(response.content, 'html.parser')
    title = soup.title.string
    return title
​
url = "https://www.example.com"
print(get_page_title(url))

十八、发送邮件

功能:使用 Python 发送电子邮件。 使用方法

import smtplib
from email.mime.text import MIMEText
​
def send_email(sender, receiver, subject, body):
    msg = MIMEText(body)
    msg['Subject'] = subject
    msg['From'] = sender
    msg['To'] = receiver
​
    smtp_server = smtplib.SMTP('smtp.example.com', 587)
    smtp_server.starttls()
    smtp_server.login(sender, 'your_password')
    smtp_server.sendmail(sender, receiver, msg.as_string())
    smtp_server.quit()
​
sender = "your_email@example.com"
receiver = "recipient@example.com"
subject = "Test Email"
body = "This is a test email."
send_email(sender, receiver, subject, body)

需要将smtp.example.com替换为实际的邮件服务器地址,并设置正确的发件人邮箱、密码等信息。

十九、计算平均值

功能:计算一组数字的平均值。 使用方法

def average(numbers):
    total = sum(numbers)
    count = len(numbers)
    return total / count
​
numbers = [1, 2, 3, 4, 5]
print(average(numbers))

二十、检查字符串是否为数字

功能:判断一个字符串是否可以转换为数字。 使用方法

def is_number(s):
    try:
        float(s)
        return True
    except ValueError:
        return False
​
s = "123.45"
print(is_number(s))

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

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

相关文章

企业数字化转型实施中的挑战与解决方案:架构引领的战略路径

在企业推动数字化转型的过程中,通常会面临复杂的挑战。随着技术的不断演进和业务环境的变化,企业架构(Enterprise Architecture, EA)成为帮助企业应对这些挑战的关键工具。通过提供一个全面的战略蓝图,EA使企业能够在保…

桑基图在医学数据分析中的更复杂应用示例

桑基图(Sankey Diagram)能够有效地展示复杂的流动关系,特别适合用于医学数据分析中的多种转归和治疗路径的可视化。接下来,我们将构建一个稍微复杂的示例,展示不同疾病患者在治疗过程中的流动,以及他们的治…

[SICTF Round4] PWN

这PWN题似乎是给我出的,4个一血1个2血。密码又过于简单。逆向太难了又不大会。 Stack fengshui main可以溢出覆盖rbpret所以它每一步都需要移栈。 可用的ROP里没有pop rdi,在4004c0里有错位的01 5d c3 :add DWORD PTR [rbp-0x3d], ebx 并且有对应的p…

消息中间件类型介绍

ActiveMQ: ActiveMQ可是个老将了,它功能全面、稳定可靠,还支持多种协议和编程语言。如果你需要一个兼容性好、易于集成的消息中间件,ActiveMQ可是个不错的选择。 RabbitMQ: RabbitMQ以其简单易用和高性能著称。它支持丰…

【设计模式系列】组合模式(十二)

目录 一、什么是组合模式 二、组合模式的角色 三、组合模式的典型应用 四、组合模式在Mybatis SqlNode中的应用 4.1 XML映射文件案例 4.2 Java代码使用案例 一、什么是组合模式 组合模式(Composite Pattern)是一种结构型设计模式,其核…

Ghidra无头模式(自动化批处理执行重复性任务)

Ghidra无头模式(自动化批处理执行重复性任务) 与Ghidra GUI探索单个项目中的单个文件不同,Ghidra headless analyzer(Ghidra无头分析器)更加适合批处理和用脚本控制Ghidra。 (一)启动analyzeHea…

【大众点评】店铺评论 加密参数生成逆向分析

点击好评 https://www.dianping.com/ajax/json/shopDynamic/allReview 分析参数_token 直接搜_token 共17个,优先看和请求相关的 给第一个_token打上断点,然后切换评论,就直接断住了 n h(i, e.sendData) _token: n 现在给它打上断点&am…

Fsm3

采用读热码编写方式: module top_module(input clk,input in,input areset,output out); ////reg [3:0]A 4d0001;// reg [3:0]B 4d0010;//reg [3:0]C 4d0100;// reg [3:0]D 4d1000; //1、首先用读热码定义四个状态变量parameter A 4d0001 ,B 4d0010, C 4d01…

在腾讯云服务器上部署MaxKB项目(基于LLM大语言模型的知识库问答系统)

前言 一, MaxKB介绍 MaxKB是基于LLM大语言模型的知识库问答系统,旨在成为企业的最强大脑。它支持开箱即用,无缝嵌入到第三方业务系统,并提供多模型支持,包括主流大模型和本地私有大模型,为用户提供智能问…

【大众点评】加密参数生成逆向分析

点击好评 https://www.dianping.com/ajax/json/shopDynamic/allReview 分析参数_token 直接搜_token 共17个,优先看和请求相关的 给第一个_token打上断点,然后切换评论,就直接断住了 n h(i, e.sendData) _token: n 现在给它打上断点&am…

【Python+Pycharm】2024-Python安装配置教程

【PythonPycharm】2024-Python安装配置教程 一、下载装 Python 1、进入Python官网首页,下载最新的Python版本 Download Python | Python.org 选择对应版本下载 安装 测试安装情况 python如果安装失败 在系统环境变量添加安装路径 where pythonwin7安装路径添加…

Python中如何计算整商:详解整除运算及其应用场景

目录 一、整除运算的基本概念 1. 语法 2. 工作原理 二、整除运算的详细解析 1. 整数之间的整除 2. 浮点数之间的整除 3. 整数与浮点数之间的整除 三、整除运算的应用场景 1. 数据处理中的取整操作 2. 循环中的步进控制 3. 分页显示数据 4. 时间计算中的取整 四、整…

sql注入——靶场Less1

?id1 ?id99union select 1,2,3-- 查看占位 ?id1 order by 3-- 尝试出表有几列 ?id1 order by 4-- 说明只有三列 ?id99 union select 1,database(),3-- 查询当前使用的数据库的名称 ?id99 union select 1,group_concat(table_name),3 from information_schema.tables …

教你将华为手机投屏到macOS系统的电脑,协同办公不用愁!

这个信息爆炸的时代,工作效率成为了衡量个人能力的一个重要指标。很多人都了解过华为手机的协同办公能力,华为电脑也可以让多台华为手机同时显示在一个电脑屏幕里。 如果电脑不是华为的,电脑系统换成macOS,还能达到将多台华为手机…

【IC每日一题--单bitCDC跨时钟和同步FIFO】

IC Daily QA--CDC跨时钟和同步FIFO 1 八股题:CDC跨时钟数据传输问题--单bit跨时钟1.1 从慢时钟到快时钟--->直接打两拍即可;1.2 快时钟到慢时钟1.2.1 脉冲信号展宽边沿检测1.2.2 慢到快时钟--握手边沿 2 手撕题:同步FIFO代码;1…

零基础玩转IPC之——如何实现远程实时查看监控视频(P2P)

P2P是peer-to-peer的简称,又称为点对点技术,是没有中心服务器、依靠用户群节点进行信息交换的对等式网络。区别于传统的C/S中央服务器结构,P2P网络中每一个用户节点即是客户端又是服务端,能同时作为服务器给其他节点提供服务。 优…

ubuntu20安装opencv3.2记录

系统环境 ubuntu20安装了ros-noetic,所以系统默认装了opencv4.2.0,但是跑fastlivo推荐的是opencv3.2.0,而且海康相机别人写的ros驱动(海康相机ros驱动)也是需要opencv3.2.0,最终还是选择安装多版本的openc…

Ecosmos携手第二十六届高交会,开启元宇宙展会新纪元

2024年11月14日至16日,第二十六届中国国际高新技术成果交易会(简称“高交会”)将在深圳国际会展中心盛大举行。 本届高交会以“科技引领发展 产业融合聚变”为主题,展览面积达40万平方米,将设置22个专业展,…

奇瑞汽车:降阶模型在新能源汽车热管理仿真上的应用

随着新能源汽车的发展,对仿真技术的要求也越来越高。那么奇瑞汽车利用降阶模型在新能源汽车热管理仿真上做了哪些应用呢?本次内容主要从四个方面展开介绍: 1、 奇瑞汽车简介; 2、 热管理降阶模型开发的背景; 3、 高低…

【NLP-06】词形还原(Lemmatization)深度解析与实践

🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…