自动化脚本广泛应用于各种任务,如文件管理、网络爬虫、数据处理和API调用等.以下是一些常用的 自动化代码示例,并按任务类型进行分类:
一、文件和目录管理
1. 文件重命名
import os
def rename_files(directory, prefix):
for filename in os.listdir(directory):
new_name = prefix + filename
os.rename(os.path.join(directory, filename), os.path.join(directory, new_name))
rename_files('/path/to/directory', 'new_')
2. 批量删除文件
import os
def delete_files(directory, extension):
for filename in os.listdir(directory):
if filename.endswith(extension):
os.remove(os.path.join(directory, filename))
delete_files('/path/to/directory', '.tmp')
二、网络爬虫和数据抓取
1. 简单网页爬虫
import requests
from bs4 import BeautifulSoup
def scrape_website(url):
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
for heading in soup.find_all('h2'):
print(heading.text)
scrape_website('https://example.com')
2. 下载文件
import requests
def download_file(url, filename):
response = requests.get(url)
with open(filename, 'wb') as file:
file.write(response.content)
download_file('https://example.com/file.zip', 'file.zip')
三、数据处理和分析
1. CSV文件处理
import pandas as pd
def process_csv(file_path):
df = pd.read_csv(file_path)
df['new_column'] = df['existing_column'] * 2
df.to_csv('processed_file.csv', index=False)
process_csv('data.csv')
2. Excel文件处理
import pandas as pd
def process_excel(file_path):
df = pd.read_excel(file_path, sheet_name='Sheet1')
df['new_column'] = df['existing_column'] + 5
df.to_excel('processed_file.xlsx', index=False)
process_excel('data.xlsx')
四、API 调用
1. 调用REST API
import requests
def get_data_from_api(api_url):
response = requests.get(api_url)
if response.status_code == 200:
return response.json()
else:
return None
data = get_data_from_api('https://api.example.com/data')
print(data)
2. POST请求发送数据
import requests
def post_data_to_api(api_url, data):
response = requests.post(api_url, json=data)
if response.status_code == 201:
print('Data posted successfully!')
else:
print('Failed to post data')
data = {'name': 'John', 'age': 30}
post_data_to_api('https://api.example.com/data', data)
五、自动化测试
1. 单元测试
import unittest
def add(a, b):
return a + b
class TestMathFunctions(unittest.TestCase):
def test_add(self):
self.assertEqual(add(2, 3), 5)
self.assertEqual(add(-1, 1), 0)
if __name__ == '__main__':
unittest.main()
2. Web应用测试(使用Selenium)
from selenium import webdriver
def test_google_search():
driver = webdriver.Chrome()
driver.get('https://www.google.com')
search_box = driver.find_element_by_name('q')
search_box.send_keys('')
search_box.submit()
driver.quit()
test_google_search()
六、定时任务
1. 使用 schedule
模块定时执行任务
import schedule
import time
def job():
print("Executing scheduled task...")
schedule.every().day.at("10:00").do(job)
while True:
schedule.run_pending()
time.sleep(1)
这些示例涵盖了常见的 python自动化任务.根据具体需求,可以将这些脚本进行扩展和修改,以适应更复杂的应用场景.
感谢大家的关注和支持!想了解更多编程精彩知识内容,请关注我的微信公众号:python小胡子,有最新最前沿的的知识和人工智能AI与大家共享,同时,如果你觉得这篇文章对你有帮助,不妨点个赞,并点击关注.动动你发财的手,万分感谢!!!
原创文章不易,求点赞、在看、转发或留言,这样对我创作下一个精美文章会有莫大的动力!