小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

40個 python 日常使用最頻繁的自動化腳本

 思想年代 2024-12-18

前言

哈嘍,我是山哥。

今天給大家分享40個 python 日常使用最頻繁的自動化腳本。

1、文件批量重命名腳本:

import osdef batch_rename_files(folder_path, old_extension, new_extension): for file in os.listdir(folder_path): if file.endswith(old_extension): old_file_path = os.path.join(folder_path, file) new_file_name = file[:-len(old_extension)] + new_extension new_file_path = os.path.join(folder_path, new_file_name) os.rename(old_file_path, new_file_path)# 示例用法batch_rename_files('/your/folder', '.txt', '.log')

此腳本可將指定文件夾內特定擴展名的文件批量修改為新的擴展名。

2、數據備份腳本(以復制文件夾為例):

import shutildef backup_folder(source_folder, destination_folder):    shutil.copytree(source_folder, destination_folder)# 示例用法backup_folder('/source/dir', '/backup/dir')

用于將一個文件夾完整備份到另一個位置。

3、自動化郵件發(fā)送腳本:

import smtplibfrom email.mime.text import MIMETextdef send_email(sender_email, sender_password, receiver_email, subject, message): msg = MIMEText(message) msg['Subject'] = subject msg['From'] = sender_email msg['To'] = receiver_email with smtplib.SMTP('smtp.gmail.com', 587) as server: server.starttls() server.login(sender_email, sender_password) server.sendmail(sender_email, receiver_email, msg.as_string())# 示例用法send_email('your_email@gmail.com', 'your_password', 'recipient@', 'Test Email', 'This is a test.')

可在程序中自動發(fā)送郵件。

4、圖片格式轉換腳本:

from PIL import Imagedef convert_image_format(image_path, new_format):    image = Image.open(image_path)    new_image_path = image_path[:-4] + new_format    image.save(new_image_path)# 示例用法convert_image_format('/your/image.jpg', '.png')

將指定圖片轉換為新的格式。

5、文本文件合并腳本:

def merge_text_files(folder_path, output_file): with open(output_file, 'w') as outfile: for file in os.listdir(folder_path): if file.endswith('.txt'): with open(os.path.join(folder_path, file), 'r') as infile: outfile.write(infile.read())# 示例用法merge_text_files('/text/files/folder', 'combined.txt')

將一個文件夾內的所有文本文件內容合并到一個新文件。

6、系統資源監(jiān)控腳本(簡單的 CPU 使用率監(jiān)控):

import psutildef monitor_cpu_usage():    cpu_usage = psutil.cpu_percent(interval=1)    print(f'CPU Usage: {cpu_usage}%')# 示例用法monitor_cpu_usage()

實時獲取當前 CPU 使用率。

7、自動化數據采集腳本(以抓取網頁標題為例):

import requestsfrom bs4 import BeautifulSoupdef scrape_webpage_titles(url): response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') titles = [title.text for title in soup.find_all('h1')] return titles# 示例用法titles = scrape_webpage_titles('https://')print(titles)

從指定網頁抓取標題信息。

8、批量創(chuàng)建文件夾腳本:

import osdef create_folders(prefix, num_folders):    for i in range(num_folders):        folder_name = prefix + str(i)        os.makedirs(folder_name)# 示例用法create_folders('new_folder_', 5)

根據指定前綴批量創(chuàng)建多個文件夾。

9、自動化數據清理腳本(去除列表中的重復元素):

def clean_data(data_list): return list(set(data_list))# 示例用法data = [1, 2, 2, 3, 3, 4]cleaned_data = clean_data(data)print(cleaned_data)

對數據列表進行去重處理。

10、定時任務執(zhí)行腳本(簡單的定時打印示例):

import scheduleimport timedef print_message():    print('This is a scheduled message.')schedule.every(5).minutes.do(print_message)while True:    schedule.run_pending()    time.sleep(1)

設置每隔 5 分鐘執(zhí)行一次打印任務。

11、自動化文件搜索腳本:

import osdef search_files(keyword, root_dir): result = [] for root, dirs, files in os.walk(root_dir): for file in files: if keyword in file: file_path = os.path.join(root, file) result.append(file_path) return result# 示例用法found_files = search_files('report', '/your/directory')print(found_files)

在指定目錄及其子目錄下搜索包含特定關鍵詞的文件。

12、數據庫數據導出腳本(以 MySQL 為例):

import subprocessdef export_mysql_data(database, user, password, output_file):    command = f'mysqldump -u {user} -p{password} {database} > {output_file}'    subprocess.call(command, shell=True)# 示例用法export_mysql_data('your_database', 'your_user', 'your_password', 'data_dump.sql')

將 MySQL 數據庫中的數據導出到指定的 SQL 文件。

13、自動化軟件安裝腳本(以安裝特定 Python 庫為例):

import subprocessdef install_package(package_name): subprocess.call(['pip', 'install', package_name])# 示例用法install_package('numpy')

使用 pip 自動安裝指定的 Python 包。

14、圖像裁剪腳本:

from PIL import Imagedef crop_image(image_path, left, top, right, bottom):    image = Image.open(image_path)    cropped_image = image.crop((left, top, right, bottom))    cropped_image.save('cropped_' + image_path)# 示例用法crop_image('/your/image.jpg', 100, 100, 400, 400)

對圖像進行裁剪操作并保存。

15、文本替換腳本(在文本文件中替換特定字符串):

def replace_text_in_file(file_path, old_text, new_text): with open(file_path, 'r+') as file: content = file.read() new_content = content.replace(old_text, new_text) file.seek(0) file.write(new_content) file.truncate()# 示例用法replace_text_in_file('/your/text.txt', 'old_word', 'new_word')

在指定文本文件中替換特定的字符串。

16、網絡連接測試腳本:

import socketdef test_network_connection(host, port):    try:        socket.create_connection((host, port), timeout=5)        print(f'Connection to {host}:{port} successful.')    except (socket.timeout, ConnectionRefusedError):        print(f'Connection to {host}:{port} failed.')# 示例用法test_network_connection('www.google.com', 80)

測試與指定主機和端口的網絡連接是否成功。

17、音頻文件播放腳本(使用 playsound 庫):

from playsound import playsounddef play_audio_file(audio_path): playsound(audio_path)# 示例用法play_audio_file('/your/audio.mp3')

播放指定的音頻文件。

18、視頻文件信息提取腳本(使用 moviepy 庫獲取時長等信息):

from moviepy.editor import VideoFileClipdef get_video_info(video_path):    video = VideoFileClip(video_path)    print(f'Duration: {video.duration} seconds')    print(f'Size: {os.path.getsize(video_path)} bytes')    video.close()# 示例用法get_video_info('/your/video.mp4')

提取視頻文件的時長和大小等信息。

19、自動化生成隨機密碼腳本:

import randomimport stringdef generate_random_password(length): all_characters = string.ascii_letters + string.digits + string.punctuation password = ''.join(random.choice(all_characters) for i in range(length)) return password# 示例用法password = generate_random_password(10)print(password)

生成指定長度的隨機密碼。

20、系統日志分析腳本(簡單示例,統計特定關鍵詞出現次數):

def analyze_log_file(log_path, keyword):    count = 0    with open(log_path, 'r') as log:        for line in log.readlines():            if keyword in line:                count += 1    return count# 示例用法occurrences = analyze_log_file('/your/log.log', 'error')print(f'Keyword 'error' appears {occurrences} times.')

分析系統日志文件中特定關鍵詞的出現次數。

21、Excel 數據處理腳本(讀取和寫入數據):

import openpyxldef read_excel_data(file_path, sheet_name): workbook = openpyxl.load_workbook(file_path) sheet = workbook[sheet_name] data = [] for row in sheet.iter_rows(values_only=True): data.append(row) workbook.close() return datadef write_excel_data(file_path, sheet_name, new_data): workbook = openpyxl.load_workbook(file_path) sheet = workbook[sheet_name] for row in new_data: sheet.append(row) workbook.save(file_path) workbook.close()# 示例用法data = read_excel_data('example.xlsx', 'Sheet1')new_data = [('New Row 1', 100), ('New Row 2', 200)]write_excel_data('example.xlsx', 'Sheet1', new_data)

該腳本可用于讀取 Excel 文件中的數據,并向其中寫入新的數據。

22、文件夾大小統計腳本:

import osdef get_folder_size(folder_path):    total_size = 0    for dirpath, dirnames, filenames in os.walk(folder_path):        for f in filenames:            file_path = os.path.join(dirpath, f)            total_size += os.path.getsize(file_path)    return total_size# 示例用法size = get_folder_size('/your/folder')print(f'Folder size: {size} bytes')

能夠計算指定文件夾及其子文件夾內所有文件的總大小。

23、自動化網頁截圖腳本:

from selenium import webdriverdef take_webpage_screenshot(url, screenshot_path): driver = webdriver.Chrome() # 需要安裝 Chrome 驅動并配置好環(huán)境變量 driver.get(url) driver.save_screenshot(screenshot_path) driver.quit()# 示例用法take_webpage_screenshot('https://www.', 'screenshot.png')

使用 Selenium 庫對指定網頁進行截圖并保存。

24、文本文件行數統計腳本:

def count_lines_in_text_file(file_path):    with open(file_path, 'r') as file:        line_count = sum(1 for line in file)    return line_count# 示例用法lines = count_lines_in_text_file('/your/text.txt')print(f'Number of lines: {lines}')

統計文本文件中的行數。

25、批量解壓文件腳本(以 zip 文件為例)

import zipfiledef batch_unzip_files(folder_path): for file in os.listdir(folder_path): if file.endswith('.zip'): zip_file_path = os.path.join(folder_path, file) with zipfile.ZipFile(zip_file_path, 'r') as zip_ref: zip_ref.extractall(folder_path)# 示例用法batch_unzip_files('/your/zip/folder')

將指定文件夾內的所有 zip 文件解壓到該文件夾。

26、自動化創(chuàng)建數據庫表腳本(以 SQLite 為例):

import sqlite3def create_sqlite_table(database_path, table_name, columns):    conn = sqlite3.connect(database_path)    cursor = conn.cursor()    column_definitions = ', '.join([f'{col[0]} {col[1]}' for col in columns])    create_table_query = f'CREATE TABLE {table_name} ({column_definitions})'    cursor.execute(create_table_query)    conn.commit()    conn.close()# 示例用法columns = [('id', 'INTEGER PRIMARY KEY'), ('name', 'TEXT'), ('age', 'INTEGER')]create_sqlite_table('example.db', 'people', columns)

創(chuàng)建一個 SQLite 數據庫表,可指定表名和列信息。

27、系統進程監(jiān)控腳本:

import psutildef monitor_processes(): for proc in psutil.process_iter(): try: process_info = proc.as_dict(attrs=['pid', 'name', 'cpu_percent']) print(f'PID: {process_info['pid']}, Name: {process_info['name']}, CPU Usage: {process_info['cpu_percent']}%') except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess): pass# 示例用法monitor_processes()

獲取當前系統中運行的進程信息,包括進程 ID、名稱和 CPU 使用率。

28、自動化生成二維碼腳本:

import pyqrcodedef generate_qr_code(data, output_path):    qr = pyqrcode.create(data)    qr.png(output_path, scale=6)# 示例用法generate_qr_code('https://www.', 'qr_code.png')

根據給定的數據生成二維碼圖片并保存。

29、文本加密腳本(簡單的凱撒密碼示例):

def caesar_cipher_encrypt(text, shift): encrypted_text = '' for char in text: if char.isalpha(): if char.isupper(): encrypted_text += chr((ord(char) - 65 + shift) % 26 + 65) else: encrypted_text += chr((ord(char) - 97 + shift) % 26 + 97) else: encrypted_text += char return encrypted_text# 示例用法encrypted = caesar_cipher_encrypt('Hello, World!', 3)print(encrypted)

使用凱撒密碼對文本進行加密。

30、自動化數據可視化腳本(繪制柱狀圖):

import matplotlib.pyplot as pltdef plot_bar_chart(x_data, y_data):    plt.bar(x_data, y_data)    plt.xlabel('X Axis')    plt.ylabel('Y Axis')    plt.title('Bar Chart')    plt.show()# 示例用法x = ['A', 'B', 'C']y = [10, 20, 30]plot_bar_chart(x, y)

根據給定的數據繪制柱狀圖進行數據可視化。

31、自動化文件下載腳本:

import requestsdef download_file(url, save_path): response = requests.get(url) with open(save_path, 'wb') as file: file.write(response.content)# 示例用法download_file('https:///file.txt', 'downloaded_file.txt')

從指定的 URL 下載文件并保存到本地。

32、自動化刪除空文件夾腳本:

import osdef remove_empty_folders(root_folder):    for root, dirs, files in os.walk(root_folder, topdown=False):        for dir in dirs:            folder_path = os.path.join(root, dir)            if not os.listdir(folder_path):                os.rmdir(folder_path)# 示例用法remove_empty_folders('/your/directory')

遞歸地刪除指定目錄下的所有空文件夾。

33、自動化修改文件權限腳本(以 Linux 系統為例):

import osdef change_file_permissions(file_path, permissions): os.chmod(file_path, permissions)# 示例用法change_file_permissions('/your/file.txt', 0o644) # 設置文件權限為 -rw-r--r--

修改指定文件的權限。

34、自動化生成 HTML 頁面腳本(簡單示例):

def create_html_page(title, content, output_path):    html = f'''    <!DOCTYPE html>    <html>    <head>        <title>{title}</title>    </head>    <body>        {content}    </body>    </html>    '''    with open(output_path, 'w') as file:        file.write(html)# 示例用法create_html_page('My Page', '<h1>Hello, World!</h1>', 'index.html')

根據給定的標題、內容生成一個簡單的 HTML 頁面并保存。

35、自動化提取音頻文件中的文本腳本(使用 speech_recognition 庫):

import speech_recognition as srdef transcribe_audio(audio_path): r = sr.Recognizer() with sr.AudioFile(audio_path) as source: audio = r.record(source) try: text = r.recognize_google(audio) return text except sr.UnknownValueError: print('Google Speech Recognition could not understand audio') except sr.RequestError as e: print(f'Could not request results from Google Speech Recognition service; {e}')# 示例用法text = transcribe_audio('/your/audio.wav')print(text)

從音頻文件中提取文本內容(需聯網使用 Google 語音識別服務)。

36、自動化整理數據庫數據腳本(以 MySQL 為例,清理重復記錄):

import mysql.connectordef clean_duplicate_records(database, table, columns):    connection = mysql.connector.connect(        host='your_host',        user='your_user',        password='your_password',        database=database    )    cursor = connection.cursor()    columns_str = ', '.join(columns)    # 使用臨時表刪除重復記錄    query = f'''        CREATE TEMPORARY TABLE temp_table AS        SELECT {columns_str}, MIN(id) AS min_id        FROM {table}        GROUP BY {columns_str};        DELETE FROM {table}        WHERE id NOT IN (SELECT min_id FROM temp_table);        DROP TABLE temp_table;    '''    cursor.execute(query)    connection.commit()    cursor.close()    connection.close()# 示例用法clean_duplicate_records('your_database', 'your_table', ['column1', 'column2'])

清理 MySQL 數據庫表中的重復記錄。

37、自動化生成隨機數列表腳本:

import randomdef generate_random_numbers_list(length, min_value, max_value): return [random.randint(min_value, max_value) for _ in range(length)]# 示例用法random_numbers = generate_random_numbers_list(10, 1, 100)print(random_numbers)

生成指定長度、在給定范圍內的隨機數列表。

38、自動化檢測文件類型腳本:

import magicdef detect_file_type(file_path):    file_type = magic.from_file(file_path, mime=True)    return file_type# 示例用法file_type = detect_file_type('/your/file.jpg')print(file_type)

使用 magic 庫檢測文件的類型。

39、自動化備份系統配置腳本(以 Linux 系統為例,備份 /etc 目錄):

import shutildef backup_system_config(source_dir, destination_dir): shutil.copytree(source_dir, destination_dir)# 示例用法backup_system_config('/etc', '/backup/etc')

備份 Linux 系統的 /etc 目錄到指定位置。

40、自動化生成斐波那契數列腳本:

def generate_fibonacci_sequence(length):    sequence = []    a, b = 0, 1    for _ in range(length):        sequence.append(a)        a, b = b, a + b    return sequence# 示例用法fibonacci = generate_fibonacci_sequence(10)print(fibonacci)

生成指定長度的斐波那契數列。

結語:

代碼寫完了,趕緊試試吧!

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多