百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

20个日常工作常用的Python脚本 简单的python脚本

off999 2024-12-28 14:43 34 浏览 0 评论

知识星球:写代码那些事

----

如果你有收获|欢迎|点赞|关注|转发

----

这里会定期更新|大厂的开发|架构|方案设计

这里也会更新|如何摸鱼|抓虾

欢迎来到写代码那些事!当涉及到日常工作的自动化和批处理任务时,Python可以成为你的得力助手。以下是一些常用的Python脚本示例,可以帮助你在日常工作中提高效率:

1. 批量文件重命名:

import os

folder_path = '/path/to/folder'
new_prefix = 'new_prefix'

for filename in os.listdir(folder_path):
    if filename.endswith('.txt'):
        new_name = f'{new_prefix}_{filename}'
        os.rename(os.path.join(folder_path, filename), os.path.join(folder_path, new_name))

2. 自动发送邮件:

import smtplib
from email.mime.text import MIMEText

def send_email(subject, body, to_email):
    smtp_server = 'smtp.example.com'
    smtp_port = 587
    sender_email = 'your_email@example.com'
    sender_password = 'your_password'

    msg = MIMEText(body)
    msg['Subject'] = subject
    msg['From'] = sender_email
    msg['To'] = to_email

    server = smtplib.SMTP(smtp_server, smtp_port)
    server.starttls()
    server.login(sender_email, sender_password)
    server.sendmail(sender_email, to_email, msg.as_string())
    server.quit()

send_email('Hello', 'This is a test email', 'recipient@example.com')

3. 自动备份文件:

import shutil
import datetime

source_folder = '/path/to/source'
backup_folder = '/path/to/backup'

current_date = datetime.datetime.now().strftime('%Y-%m-%d')
backup_path = os.path.join(backup_folder, f'backup_{current_date}')

shutil.copytree(source_folder, backup_path)

4. 网络爬虫:

import requests
from bs4 import BeautifulSoup

url = 'https://example.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')

for link in soup.find_all('a'):
    print(link.get('href'))

5. 数据处理和分析:

import pandas as pd

data = pd.read_csv('data.csv')
filtered_data = data[data['sales'] > 1000]
average_sales = filtered_data['sales'].mean()

print('Average Sales:', average_sales)

6. 数据清洗和转换:

import pandas as pd

data = pd.read_csv('data.csv')
cleaned_data = data.dropna()  # 删除缺失值
transformed_data = cleaned_data.apply(lambda x: x * 2)  # 数据转换

transformed_data.to_csv('cleaned_and_transformed_data.csv', index=False)

7. 自动化测试脚本:

import unittest

class TestMathFunctions(unittest.TestCase):
    def test_add(self):
        self.assertEqual(2 + 2, 4)

    def test_multiply(self):
        self.assertEqual(3 * 5, 15)

if __name__ == '__main__':
    unittest.main()

8. 自动化GUI操作:

import pyautogui
import time

# 打开文本编辑器
pyautogui.press('win')
pyautogui.write('notepad')
pyautogui.press('enter')

time.sleep(2)

# 输入文本并保存
pyautogui.write('Hello, World!')
pyautogui.hotkey('ctrl', 's')
time.sleep(1)
pyautogui.write('file_name.txt')
pyautogui.press('enter')

9. 数据库操作脚本:

import sqlite3

conn = sqlite3.connect('my_database.db')
cursor = conn.cursor()

cursor.execute('CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)')
cursor.execute('INSERT INTO users (name, age) VALUES (?, ?)', ('Alice', 25))
conn.commit()

cursor.execute('SELECT * FROM users')
for row in cursor.fetchall():
    print(row)

conn.close()

10. 文件监控和处理:

import os
import time

folder_path = '/path/to/folder'

while True:
    for filename in os.listdir(folder_path):
        if filename.endswith('.txt'):
            with open(os.path.join(folder_path, filename), 'r') as file:
                content = file.read()
                # 在这里进行文件内容的处理操作
                print(content)
            os.remove(os.path.join(folder_path, filename))
    time.sleep(10)

11. 自动备份数据库:

import subprocess
import datetime

current_date = datetime.datetime.now().strftime('%Y-%m-%d')
backup_file = f'backup_{current_date}.sql'

subprocess.run(['mysqldump', '-u', 'username', '-p', 'database_name', '>', backup_file], shell=True)

12. 日志文件分析:

import re

log_file = 'app.log'
error_pattern = r'ERROR: (.+)'

errors = []

with open(log_file, 'r') as file:
    for line in file:
        match = re.search(error_pattern, line)
        if match:
            errors.append(match.group(1))

for error in errors:
    print(error)

13. 自动化截屏:

import pyautogui
import time

time.sleep(5)
screenshot = pyautogui.screenshot()
screenshot.save('screenshot.png')

14. 自动化表单填写:

from selenium import webdriver

browser = webdriver.Chrome()
browser.get('https://example.com')

name_field = browser.find_element_by_id('name')
name_field.send_keys('John Doe')

email_field = browser.find_element_by_id('email')
email_field.send_keys('john@example.com')

submit_button = browser.find_element_by_id('submit')
submit_button.click()

browser.quit()

15. 自动下载文件:

import requests

file_url = 'https://example.com/file.pdf'
response = requests.get(file_url)

with open('downloaded_file.pdf', 'wb') as file:
    file.write(response.content)

16. 日志自动分析:

import re
from collections import Counter

log_file = 'app.log'
error_pattern = r'ERROR: (.+)'

errors = []

with open(log_file, 'r') as file:
    for line in file:
        match = re.search(error_pattern, line)
        if match:
            errors.append(match.group(1))

error_counts = Counter(errors)
for error, count in error_counts.items():
    print(f'{error}: {count} occurrences')

17. 批量图片处理:

from PIL import Image
import os

input_folder = '/path/to/input/folder'
output_folder = '/path/to/output/folder'

for filename in os.listdir(input_folder):
    if filename.endswith('.jpg'):
        img = Image.open(os.path.join(input_folder, filename))
        img.thumbnail((300, 300))
        img.save(os.path.join(output_folder, filename))

18. 自动化表格生成:

import pandas as pd

data = pd.DataFrame({
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 22]
})

data.to_excel('data.xlsx', index=False)

19. 定时提醒工具:

import time
from plyer import notification

def set_reminder(message, interval):
    while True:
        time.sleep(interval)
        notification.notify(
            title='Reminder',
            message=message,
            app_name='Reminder App'
        )

reminder_message = 'Take a break and stretch!'
reminder_interval = 3600  # 1 hour

set_reminder(reminder_message, reminder_interval)

20. 文件夹清理脚本:

import os
import shutil

source_folder = '/path/to/source'
destination_folder = '/path/to/destination'

for filename in os.listdir(source_folder):
    if filename.endswith('.txt'):
        shutil.move(os.path.join(source_folder, filename), os.path.join(destination_folder, filename))

相关推荐

大文件传不动?WinRAR/7-Zip 入门到高手,这 5 个技巧让你效率翻倍

“这200张照片怎么传给女儿?微信发不了,邮箱附件又超限……”62岁的张阿姨对着电脑犯愁时,儿子只用了3分钟就把照片压缩成一个文件,还教她:“以后用压缩软件,比打包行李还方便!”职场人更懂这...

电脑解压缩软件推荐——7-Zip:免费、高效、简洁的文件管理神器

在日常工作中,我们经常需要处理压缩文件。无论是下载软件包、接收文件,还是存储大量数据,压缩和解压缩文件都成为了我们日常操作的一部分。而说到压缩解压软件,7-Zip绝对是一个不可忽视的名字。今天,我就来...

设置了加密密码zip文件要如何打开?这几个方法可以试试~

Zip是一种常见的压缩格式文件,文件还可以设置密码保护。那设置了密码的Zip文件要如何打开呢?不清楚的小伙伴一起来看看吧。当我们知道密码想要打开带密码的Zip文件,我们需要用到适用于Zip格式的解压缩...

大文件想要传输成功,怎么把ZIP文件分卷压缩

不知道各位小伙伴有没有这样的烦恼,发送很大很大的压缩包会受到限制,为此,想要在压缩过程中将文件拆分为几个压缩包并且同时为所有压缩包设置加密应该如何设置?方法一:使用7-Zip免费且强大的文件管理工具7...

高效处理 RAR 分卷压缩包:合并解压操作全攻略

在文件传输和存储过程中,当遇到大文件时,我们常常会使用分卷压缩的方式将其拆分成多个较小的压缩包,方便存储和传输。RAR作为一种常见的压缩格式,分卷压缩包的使用频率也很高。但很多人在拿到RAR分卷...

2个方法教你如何删除ZIP压缩包密码

zip压缩包设置了加密密码,每次解压文件都需要输入密码才能够顺利解压出文件,当压缩包文件不再需要加密的时候,大家肯定想删除压缩包密码,或是忘记了压缩包密码,想要通过删除操作将压缩包密码删除,就能够顺利...

速转!漏洞预警丨压缩软件Winrar目录穿越漏洞

WinRAR是一款功能强大的压缩包管理器,它是档案工具RAR在Windows环境下的图形界面。该软件可用于备份数据,缩减电子邮件附件的大小,解压缩从Internet上下载的RAR、ZIP及其它类...

文件解压方法和工具分享_文件解压工具下载

压缩文件减少文件大小,降低文件失效的概率,总得来说好处很多。所以很多文件我们下载下来都是压缩软件,很多小伙伴不知道怎么解压,或者不知道什么工具更好,所以今天做了文件解压方法和工具的分享给大家。一、解压...

[python]《Python编程快速上手:让繁琐工作自动化》学习笔记3

1.组织文件笔记(第9章)(代码下载)1.1文件与文件路径通过importshutil调用shutil模块操作目录,shutil模块能够在Python程序中实现文件复制、移动、改名和删除;同时...

Python内置tarfile模块:读写 tar 归档文件详解

一、学习目标1.1学习目标掌握Python内置模块tarfile的核心功能,包括:理解tar归档文件的原理与常见压缩格式(gzip/bz2/lzma)掌握tar文件的读写操作(创建、解压、查看、过滤...

使用python展开tar包_python拓展

类Unix的系统,打包文件经常使用的就是tar包,结合zip工具,可以方便的打包并解压。在python的标准库里面有tarfile库,可以方便实现生成了展开tar包。使用这个库最大的好处,可能就在于不...

银狐钓鱼再升级:白文件脚本化实现GO语言后门持久驻留

近期,火绒威胁情报中心监测到一批相对更为活跃的“银狐”系列变种木马。火绒安全工程师第一时间获取样本并进行分析。分析发现,该样本通过阿里云存储桶下发恶意文件,采用AppDomainManager进行白利...

ZIP文件怎么打开?2个简单方法教你轻松搞定!

在日常工作和生活中,我们经常会遇到各种压缩文件,其中最常见的格式之一就是ZIP。ZIP文件通过压缩数据来减少文件大小,方便我们进行存储和传输。然而,对于初学者来说,如何打开ZIP文件可能会成为一个小小...

Ubuntu—解压多个zip压缩文件.zip .z01 .z02

方法将所有zip文件放在同一目录中:zip_file.z01,zip_file.z02,zip_file.z03,...,zip_file.zip。在Zip3.0版本及以上,使用下列命令:将所有zi...

如何使用7-Zip对文件进行加密压缩

7-Zip是一款开源的文件归档工具,支持多种压缩格式,并提供了对压缩文件进行加密的功能。使用7-Zip可以轻松创建和解压.7z、.zip等格式的压缩文件,并且可以通过设置密码来保护压缩包中的...

取消回复欢迎 发表评论: