Python 自动化脚本

class shutil,自动化脚本

自动化处理文件与目录操作

使用 Python 的 osshutil 模块可以轻松实现对文件和目录的自动化操作。以下是一些常见的任务示例:

1. 创建、删除目录

import os

# 创建目录
os.makedirs('example_dir/sub_dir', exist_ok=True)

# 删除目录
os.rmdir('example_dir/sub_dir')

2. 文件的复制、移动、删除

import shutil

# 复制文件
shutil.copy('source_file.txt', 'destination_dir/')

# 移动文件
shutil.move('source_file.txt', 'new_location/')

# 删除文件
os.remove('destination_dir/source_file.txt')

3. 批量重命名文件

import os

directory = 'example_dir/'
for filename in os.listdir(directory):
    if filename.endswith('.txt'):
        new_name = filename.replace('.txt', '.bak')
        os.rename(os.path.join(directory, filename), os.path.join(directory, new_name))

自动化数据备份与恢复

使用 Python 可以编写脚本自动化备份与恢复数据。例如,可以将目录下的所有文件打包成 ZIP 文件并定期备份。

1. 备份文件夹到 ZIP 文件

import shutil
import time

source_dir = 'data/'
backup_dir = 'backup/'
timestamp = time.strftime('%Y%m%d_%H%M%S')
backup_file = f'{backup_dir}backup_{timestamp}.zip'

# 创建 ZIP 备份
shutil.make_archive(backup_file.replace('.zip', ''), 'zip', source_dir)

2. 恢复 ZIP 文件

import zipfile

zip_file = 'backup/backup_20230817_123456.zip'
restore_dir = 'restore_data/'

# 解压缩 ZIP 文件
with zipfile.ZipFile(zip_file, 'r') as zip_ref:
    zip_ref.extractall(restore_dir)

使用 Selenium 进行浏览器自动化操作

Selenium 是一个强大的工具,可以用来自动化测试 web 应用程序,或者执行各种浏览器自动化任务。以下是一个简单的 Selenium 示例,展示了如何自动化一个网页的打开和搜索操作。

1. 安装 Selenium

首先,需要安装 Selenium 库,并下载对应浏览器的 WebDriver(例如 ChromeDriver)。

pip install selenium

2. 基本浏览器自动化示例

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

# 设置 WebDriver 的路径
driver = webdriver.Chrome(executable_path='path/to/chromedriver')

# 打开浏览器并访问网页
driver.get("https://www.google.com")

# 查找搜索框并输入查询内容
search_box = driver.find_element("name", "q")
search_box.send_keys("Python Selenium")
search_box.send_keys(Keys.RETURN)

# 等待页面加载并关闭浏览器
driver.implicitly_wait(5)
driver.quit()

3. 截取网页截图

driver.save_screenshot('screenshot.png')

4. 自动化表单填写和提交

from selenium.webdriver.support.ui import Select

# 打开一个示例表单页面
driver.get("https://example.com/form")

# 填写文本字段
text_field = driver.find_element("name", "username")
text_field.send_keys("example_user")

# 选择下拉菜单
dropdown = Select(driver.find_element("name", "country"))
dropdown.select_by_visible_text("United States")

# 点击提交按钮
submit_button = driver.find_element("name", "submit")
submit_button.click()

总结

  • 文件与目录操作:利用 osshutil 模块,可以自动化创建、删除、复制、移动、重命名文件与目录等操作。
  • 数据备份与恢复:可以使用 shutilzipfile 模块来自动化备份和恢复数据。
  • 浏览器自动化操作:使用 Selenium,可以自动化测试 Web 应用程序,模拟用户行为如点击、输入、提交表单,甚至截取网页截图。

这些脚本可以进一步集成到自动化任务调度系统中,如 cronTask Scheduler,以实现更为复杂的自动化工作流。

评论区
评论列表
menu