最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實(shí)現(xiàn)視頻批量自動(dòng)化剪輯功能

 更新時(shí)間:2026年02月07日 08:43:55   作者:大神君Bob  
在日常工作和內(nèi)容創(chuàng)作中,視頻剪輯是一項(xiàng)常見但耗時(shí)的任務(wù),本文將介紹如何使用Python實(shí)現(xiàn)視頻剪輯自動(dòng)化,包括視頻剪切、拼接、特效添加等功能,有需要的可以參考下

在日常工作和內(nèi)容創(chuàng)作中,視頻剪輯是一項(xiàng)常見但耗時(shí)的任務(wù)。無論是制作短視頻、編輯教學(xué)視頻,還是處理監(jiān)控錄像,Python都能幫助我們高效地完成這些視頻處理工作。本文將介紹如何使用Python實(shí)現(xiàn)視頻剪輯自動(dòng)化,包括視頻剪切、拼接、特效添加等功能。

視頻處理庫簡介

在Python中,有多個(gè)強(qiáng)大的庫可用于視頻處理:

  • MoviePy:簡單易用的高級(jí)視頻處理庫,適合大多數(shù)日常視頻處理任務(wù)
  • OpenCV:提供底層視頻處理能力,支持復(fù)雜的圖像處理操作
  • PyAV:基于FFmpeg的底層綁定,提供高效的視頻處理能力
  • ffmpeg-python:FFmpeg命令行工具的Python封裝,用于復(fù)雜的音視頻處理

使用MoviePy進(jìn)行基礎(chǔ)視頻處理

視頻實(shí)際上是由一系列靜態(tài)圖像組成的,每張圖像稱為一幀,通常每秒視頻包含24~30幀甚至更多幀。

基本操作

# 導(dǎo)入MoviePy模塊
from moviepy.editor import *

# 加載視頻文件
video = VideoFileClip("input.mp4")

# 將視頻導(dǎo)出為圖片序列
video.write_images_sequence("frames/frame%03d.png", fps=24)

# 截取某一幀畫面
video.save_frame("frame_at_10s.jpg", t=10)

# 將視頻轉(zhuǎn)換為GIF
video.write_gif("output.gif", fps=15)

視頻剪輯與處理

# 截取視頻片段
clip = video.subclip(10, 20)  # 截取10-20秒

# 調(diào)整播放速度
fast_clip = clip.fx(vfx.speedx, 2)  # 2倍速
slow_clip = clip.fx(vfx.speedx, 0.5)  # 0.5倍速

# 畫面裁剪
cropped = clip.crop(x1=100, y1=100, x2=400, y2=300)

# 轉(zhuǎn)換為灰度視頻
gray_clip = clip.fx(vfx.blackwhite)

# 調(diào)整亮度和對(duì)比度
adjusted = clip.fx(vfx.lum_contrast, lum=0.2, contrast=0.2)

視頻合成與特效

# 拼接多個(gè)視頻
final = concatenate_videoclips([clip1, clip2, clip3], method="compose")

# 畫中畫效果
clip1 = clip1.set_position(("left", "top")).resize(0.5)
clip2 = clip2.set_position(("right", "bottom")).resize(0.5)
final = CompositeVideoClip([clip1, clip2])

# 添加滾動(dòng)字幕
text = (TextClip("片尾字幕", fontsize=70, color='white')
        .set_position(('center', 'bottom'))
        .set_duration(10)
        .fx(vfx.scroll, h=500, rate=50))
final = CompositeVideoClip([video, text])

實(shí)際應(yīng)用場景

  • 批量視頻處理:自動(dòng)裁剪、調(diào)整大小、添加水印
  • 短視頻制作:自動(dòng)拼接多個(gè)短視頻片段,添加轉(zhuǎn)場效果
  • 教育培訓(xùn):自動(dòng)為教學(xué)視頻添加字幕和標(biāo)注
  • 監(jiān)控視頻處理:自動(dòng)提取關(guān)鍵幀并生成報(bào)告

高級(jí)視頻處理技巧

圖片序列與視頻轉(zhuǎn)換

除了基本的視頻處理操作,我們還可以實(shí)現(xiàn)圖片和視頻之間的相互轉(zhuǎn)換:

# 將圖片序列合成為視頻
from moviepy.editor import ImageSequenceClip

# 從文件夾中讀取所有圖片并按名稱排序
import glob
image_files = sorted(glob.glob('frames/*.png'))

# 創(chuàng)建視頻剪輯(每秒24幀)
clip = ImageSequenceClip(image_files, fps=24)

# 導(dǎo)出為視頻文件
clip.write_videofile("output_from_images.mp4", codec='libx264')

添加靜態(tài)和動(dòng)態(tài)字幕

為視頻添加字幕是常見需求,MoviePy提供了多種字幕添加方式:

# 添加靜態(tài)標(biāo)題
from moviepy.editor import *

video = VideoFileClip("input.mp4")

# 創(chuàng)建文本剪輯
title = TextClip("視頻標(biāo)題", fontsize=70, color='white', 
                stroke_color='black', stroke_width=2)

# 設(shè)置文本位置和持續(xù)時(shí)間
title = title.set_position('center').set_duration(5)

# 疊加到視頻上
final = CompositeVideoClip([video, title])
final.write_videofile("video_with_title.mp4")

# 添加滾動(dòng)字幕(片尾字幕)
credits = TextClip('制作人:張三\n導(dǎo)演:李四\n演員:王五', 
                  fontsize=30, color='white', font='Arial-Bold')

# 設(shè)置滾動(dòng)效果(從底部滾動(dòng)到頂部)
scrolling_credits = credits.set_position(('center', 'bottom')).set_duration(10)
scrolling_credits = scrolling_credits.fx(vfx.scroll, y_speed=-30)

# 添加到視頻末尾
video_with_credits = CompositeVideoClip([video, scrolling_credits])
video_with_credits.write_videofile("video_with_credits.mp4")

添加水印和覆蓋元素

為視頻添加水印或其他覆蓋元素:

# 添加圖片水印
from moviepy.editor import *

video = VideoFileClip("input.mp4")

# 加載水印圖片并調(diào)整大小
watermark = (ImageClip("watermark.png")
            .set_duration(video.duration)
            .resize(height=50)  # 設(shè)置水印高度
            .set_position(("right", "bottom")))

# 設(shè)置水印透明度
watermark = watermark.set_opacity(0.5)

# 疊加到視頻上
final = CompositeVideoClip([video, watermark])
final.write_videofile("watermarked_video.mp4")

批量處理視頻

當(dāng)需要對(duì)多個(gè)視頻進(jìn)行相同處理時(shí),可以使用批處理方式:

import os
from moviepy.editor import *

def process_video(input_path, output_path):
    """處理單個(gè)視頻的函數(shù)"""
    video = VideoFileClip(input_path)
    
    # 示例處理:裁剪前30秒,轉(zhuǎn)為灰度
    processed = video.subclip(0, min(30, video.duration)).fx(vfx.blackwhite)
    
    # 添加文本水印
    txt = TextClip("示例水印", fontsize=30, color='white')
    txt = txt.set_position(('right', 'bottom')).set_duration(processed.duration)
    
    final = CompositeVideoClip([processed, txt])
    final.write_videofile(output_path)
    
    # 清理內(nèi)存
    video.close()
    processed.close()
    final.close()

# 批量處理文件夾中的所有MP4視頻
input_folder = "input_videos/"
output_folder = "output_videos/"

# 確保輸出文件夾存在
os.makedirs(output_folder, exist_ok=True)

# 處理所有MP4文件
for filename in os.listdir(input_folder):
    if filename.endswith(".mp4"):
        input_path = os.path.join(input_folder, filename)
        output_path = os.path.join(output_folder, f"processed_{filename}")
        print(f"處理視頻: {filename}")
        process_video(input_path, output_path)

使用PyAV模塊處理視頻

PyAV是基于FFmpeg的Python綁定,提供了更底層、更高效的視頻處理能力,特別適合需要逐幀處理的場景:

import av
import numpy as np
from PIL import Image

# 打開視頻文件
container = av.open('input.mp4')

# 獲取視頻流
video_stream = next(s for s in container.streams if s.type == 'video')

# 示例1:提取所有幀
for i, frame in enumerate(container.decode(video=0)):
    # 將幀轉(zhuǎn)換為PIL圖像并保存
    img = frame.to_image()
    img.save(f'frame-{i:04d}.jpg')
    
    # 限制提取的幀數(shù),避免生成太多文件
    if i >= 100:  # 只提取前100幀
        break

# 示例2:每隔一秒提取一幀
container.seek(0)  # 重置到視頻開始
fps = video_stream.average_rate

for i, frame in enumerate(container.decode(video=0)):
    # 每隔fps幀(約1秒)保存一次
    if i % int(fps) == 0:
        frame.to_image().save(f'second-{i//int(fps):04d}.jpg')

# 示例3:視頻幀處理(轉(zhuǎn)為灰度)
container.seek(0)  # 重置到視頻開始

# 創(chuàng)建輸出容器
output = av.open('output_gray.mp4', mode='w')

# 創(chuàng)建輸出流
output_stream = output.add_stream('h264', rate=video_stream.rate)
output_stream.width = video_stream.width
output_stream.height = video_stream.height
output_stream.pix_fmt = 'yuv420p'

for frame in container.decode(video=0):
    # 轉(zhuǎn)換為NumPy數(shù)組進(jìn)行處理
    img = frame.to_ndarray(format='rgb24')
    
    # 轉(zhuǎn)為灰度
    gray = np.mean(img, axis=2).astype(np.uint8)
    
    # 轉(zhuǎn)回三通道格式
    gray_3channel = np.stack([gray, gray, gray], axis=2)
    
    # 創(chuàng)建新幀
    new_frame = av.VideoFrame.from_ndarray(gray_3channel, format='rgb24')
    
    # 編碼并寫入輸出
    for packet in output_stream.encode(new_frame):
        output.mux(packet)

# 刷新緩沖區(qū)
for packet in output_stream.encode():
    output.mux(packet)

# 關(guān)閉文件
container.close()
output.close()

實(shí)際應(yīng)用場景

1. 批量視頻處理

在企業(yè)營銷或內(nèi)容創(chuàng)作中,經(jīng)常需要對(duì)大量視頻進(jìn)行統(tǒng)一處理,如添加公司Logo、調(diào)整尺寸或添加片頭片尾:

from moviepy.editor import *
import os

def add_intro_outro(video_path, output_path, intro_path, outro_path):
    """為視頻添加片頭和片尾"""
    # 加載視頻
    main_video = VideoFileClip(video_path)
    intro = VideoFileClip(intro_path)
    outro = VideoFileClip(outro_path)
    
    # 確保片頭片尾與主視頻尺寸一致
    if intro.size != main_video.size:
        intro = intro.resize(main_video.size)
    if outro.size != main_video.size:
        outro = outro.resize(main_video.size)
    
    # 拼接視頻
    final_video = concatenate_videoclips([intro, main_video, outro])
    
    # 導(dǎo)出
    final_video.write_videofile(output_path)
    
    # 清理
    main_video.close()
    intro.close()
    outro.close()
    final_video.close()

# 批量處理文件夾中的視頻
video_folder = "marketing_videos/"
output_folder = "processed_videos/"
intro_path = "company_intro.mp4"
outro_path = "company_outro.mp4"

os.makedirs(output_folder, exist_ok=True)

for video_file in os.listdir(video_folder):
    if video_file.endswith((".mp4", ".mov")):
        input_path = os.path.join(video_folder, video_file)
        output_path = os.path.join(output_folder, f"branded_{video_file}")
        add_intro_outro(input_path, output_path, intro_path, outro_path)

2. 自動(dòng)生成教學(xué)視頻

將幻燈片、講解音頻和字幕自動(dòng)合成為教學(xué)視頻:

from moviepy.editor import *
import glob

def create_lecture_video(slides_folder, audio_path, subtitles_file, output_path):
    """創(chuàng)建教學(xué)視頻"""
    # 加載幻燈片圖片
    slides = sorted(glob.glob(f"{slides_folder}/*.jpg"))
    
    # 加載音頻
    audio = AudioFileClip(audio_path)
    
    # 估算每張幻燈片顯示時(shí)間(假設(shè)平均每張幻燈片顯示20秒)
    slide_duration = audio.duration / len(slides)
    
    # 創(chuàng)建幻燈片剪輯
    slide_clips = []
    for i, slide in enumerate(slides):
        start_time = i * slide_duration
        end_time = (i + 1) * slide_duration
        
        # 創(chuàng)建圖片剪輯
        clip = (ImageClip(slide)
                .set_start(start_time)
                .set_duration(slide_duration)
                .set_position('center'))
        
        slide_clips.append(clip)
    
    # 加載字幕文件(假設(shè)是SRT格式)
    from moviepy.video.tools.subtitles import SubtitlesClip
    subtitles = SubtitlesClip(subtitles_file)
    
    # 創(chuàng)建最終視頻
    video = CompositeVideoClip(slide_clips)
    video = video.set_audio(audio)
    
    # 添加字幕
    final = CompositeVideoClip([video, subtitles.set_position(('center', 'bottom'))])
    
    # 導(dǎo)出
    final.write_videofile(output_path, fps=24)

# 使用示例
create_lecture_video(
    slides_folder="lecture_slides",
    audio_path="lecture_audio.mp3",
    subtitles_file="lecture_subtitles.srt",
    output_path="complete_lecture.mp4"
)

3. 監(jiān)控分析

自動(dòng)分析監(jiān)控視頻,提取關(guān)鍵幀并生成報(bào)告:

import cv2
import numpy as np
from datetime import datetime, timedelta
import os

def analyze_surveillance_video(video_path, output_folder, 
                             sensitivity=20, min_area=500):
    """分析監(jiān)控視頻,檢測(cè)運(yùn)動(dòng)并保存關(guān)鍵幀"""
    # 創(chuàng)建輸出文件夾
    os.makedirs(output_folder, exist_ok=True)
    
    # 打開視頻
    cap = cv2.VideoCapture(video_path)
    
    # 獲取視頻信息
    fps = cap.get(cv2.CAP_PROP_FPS)
    frame_count = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
    duration = frame_count / fps
    
    # 初始化背景減除器
    bg_subtractor = cv2.createBackgroundSubtractorMOG2()
    
    # 記錄檢測(cè)到的事件
    events = []
    
    # 處理視頻幀
    frame_number = 0
    while True:
        ret, frame = cap.read()
        if not ret:
            break
            
        # 計(jì)算當(dāng)前時(shí)間點(diǎn)
        timestamp = frame_number / fps
        
        # 應(yīng)用背景減除
        fg_mask = bg_subtractor.apply(frame)
        
        # 去噪
        kernel = np.ones((5, 5), np.uint8)
        fg_mask = cv2.morphologyEx(fg_mask, cv2.MORPH_OPEN, kernel)
        
        # 尋找輪廓
        contours, _ = cv2.findContours(fg_mask, cv2.RETR_EXTERNAL, 
                                      cv2.CHAIN_APPROX_SIMPLE)
        
        # 檢查是否有足夠大的運(yùn)動(dòng)區(qū)域
        motion_detected = False
        for contour in contours:
            if cv2.contourArea(contour) > min_area:
                motion_detected = True
                # 在運(yùn)動(dòng)區(qū)域繪制矩形
                (x, y, w, h) = cv2.boundingRect(contour)
                cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)
        
        # 如果檢測(cè)到運(yùn)動(dòng),保存幀
        if motion_detected:
            event_time = datetime.fromtimestamp(os.path.getctime(video_path)) + \
                        timedelta(seconds=timestamp)
            event_time_str = event_time.strftime("%Y%m%d_%H%M%S")
            
            # 保存帶標(biāo)記的幀
            output_path = os.path.join(output_folder, 
                                      f"motion_{event_time_str}.jpg")
            cv2.imwrite(output_path, frame)
            
            # 記錄事件
            events.append({
                'time': event_time,
                'frame': frame_number,
                'image_path': output_path
            })
        
        frame_number += 1
        
        # 每處理100幀顯示一次進(jìn)度
        if frame_number % 100 == 0:
            print(f"處理進(jìn)度: {frame_number}/{frame_count} "
                  f"({frame_number/frame_count*100:.1f}%)")
    
    # 生成報(bào)告
    report_path = os.path.join(output_folder, "motion_report.txt")
    with open(report_path, 'w', encoding='utf-8') as f:
        f.write(f"視頻分析報(bào)告: {os.path.basename(video_path)}\n")
        f.write(f"分析時(shí)間: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}\n")
        f.write(f"視頻時(shí)長: {duration:.2f} 秒\n")
        f.write(f"檢測(cè)到的運(yùn)動(dòng)事件: {len(events)}\n\n")
        
        for i, event in enumerate(events):
            f.write(f"事件 {i+1}:\n")
            f.write(f"  時(shí)間: {event['time'].strftime('%Y-%m-%d %H:%M:%S')}\n")
            f.write(f"  幀號(hào): {event['frame']}\n")
            f.write(f"  圖像: {os.path.basename(event['image_path'])}\n\n")
    
    # 釋放資源
    cap.release()
    
    return events, report_path

# 使用示例
events, report = analyze_surveillance_video(
    video_path="surveillance.mp4",
    output_folder="surveillance_analysis",
    sensitivity=20,
    min_area=500
)

4. 社交媒體視頻自動(dòng)生成

根據(jù)文本內(nèi)容自動(dòng)生成適合社交媒體的短視頻:

from moviepy.editor import *
import textwrap
import random

def create_social_media_video(text, background_image, background_music, output_path):
    """創(chuàng)建社交媒體短視頻"""
    # 設(shè)置視頻參數(shù)(豎屏格式適合手機(jī)瀏覽)
    width, height = 1080, 1920
    duration = 15  # 15秒視頻
    
    # 加載背景圖片
    background = ImageClip(background_image).resize((width, height))
    
    # 創(chuàng)建文本剪輯
    # 將長文本分成多行
    wrapped_text = textwrap.fill(text, width=30)
    
    text_clip = TextClip(wrapped_text, fontsize=70, color='white', 
                        font='Arial-Bold', align='center', 
                        stroke_color='black', stroke_width=2)
    
    text_clip = text_clip.set_position('center').set_duration(duration)
    
    # 添加簡單動(dòng)畫效果
    def move_text(t):
        # 文本輕微上下移動(dòng)
        return ('center', 540 + 30 * np.sin(t))
    
    animated_text = text_clip.set_position(move_text)
    
    # 加載背景音樂并設(shè)置音量
    audio = AudioFileClip(background_music).subclip(0, duration).volumex(0.3)
    
    # 合成視頻
    video = CompositeVideoClip([background.set_duration(duration), animated_text])
    video = video.set_audio(audio)
    
    # 導(dǎo)出
    video.write_videofile(output_path, fps=30)

# 使用示例
create_social_media_video(
    text="Python視頻剪輯自動(dòng)化讓內(nèi)容創(chuàng)作更高效!只需幾行代碼,即可實(shí)現(xiàn)專業(yè)級(jí)視頻編輯效果。",
    background_image="social_background.jpg",
    background_music="upbeat_music.mp3",
    output_path="social_promo.mp4"
)

小結(jié)

通過Python實(shí)現(xiàn)視頻剪輯自動(dòng)化,我們可以大幅提高工作效率,特別是在需要批量處理視頻的場景中。以下是一些進(jìn)階技巧:

  • 性能優(yōu)化:處理大型視頻文件時(shí),考慮使用臨時(shí)文件和分段處理,避免內(nèi)存溢出
  • 并行處理:利用多進(jìn)程處理多個(gè)視頻,充分利用多核CPU
  • 自定義特效:學(xué)習(xí)編寫自定義視頻特效函數(shù),實(shí)現(xiàn)獨(dú)特的視覺效果
  • 結(jié)合AI技術(shù):利用機(jī)器學(xué)習(xí)模型進(jìn)行視頻內(nèi)容分析、自動(dòng)剪輯或生成字幕
  • 命令行工具:將常用的視頻處理功能封裝為命令行工具,方便日常使用

無論是內(nèi)容創(chuàng)作者、營銷人員還是教育工作者,掌握Python視頻剪輯自動(dòng)化技術(shù)都能顯著提升工作效率,讓創(chuàng)意更快地變?yōu)楝F(xiàn)實(shí)。

以上就是Python實(shí)現(xiàn)視頻批量自動(dòng)化剪輯功能的詳細(xì)內(nèi)容,更多關(guān)于Python視頻自動(dòng)化剪輯的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python Numpy運(yùn)行報(bào)錯(cuò)IndexError與形狀不匹配的問題解決辦法

    Python Numpy運(yùn)行報(bào)錯(cuò)IndexError與形狀不匹配的問題解決辦法

    在使用Numpy進(jìn)行數(shù)據(jù)處理和科學(xué)計(jì)算時(shí),IndexError和形狀不匹配(Shape Mismatch)是常見的錯(cuò)誤類型,這些錯(cuò)誤通常發(fā)生在數(shù)組索引操作、數(shù)組運(yùn)算或數(shù)組重塑時(shí),本文將通過一個(gè)具體的例子來詳細(xì)分析這些錯(cuò)誤的原因和解決辦法,需要的朋友可以參考下
    2024-07-07
  • 深入分析python中整型不會(huì)溢出問題

    深入分析python中整型不會(huì)溢出問題

    本文給大家通過實(shí)例和原理深入分析了python中整型不會(huì)溢出的相關(guān)知識(shí)點(diǎn),有興趣的朋友可以跟著學(xué)習(xí)下。
    2018-06-06
  • Python OpenCV 彩色與灰度圖像的轉(zhuǎn)換實(shí)現(xiàn)

    Python OpenCV 彩色與灰度圖像的轉(zhuǎn)換實(shí)現(xiàn)

    為了加快處理速度在圖像處理算法中,往往需要把彩色圖像轉(zhuǎn)換為灰度圖像,本文主要介紹了Python OpenCV 彩色與灰度圖像的轉(zhuǎn)換實(shí)現(xiàn),感興趣的可以了解一下
    2021-06-06
  • python實(shí)現(xiàn)mask矩陣示例(根據(jù)列表所給元素)

    python實(shí)現(xiàn)mask矩陣示例(根據(jù)列表所給元素)

    這篇文章主要介紹了python實(shí)現(xiàn)mask矩陣示例(根據(jù)列表所給元素),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Python二進(jìn)制數(shù)據(jù)結(jié)構(gòu)Struct的具體使用

    Python二進(jìn)制數(shù)據(jù)結(jié)構(gòu)Struct的具體使用

    在C/C++語言中,struct被稱為結(jié)構(gòu)體。而在Python中,struct是一個(gè)專門的庫,用于處理字節(jié)串與原生Python數(shù)據(jù)結(jié)構(gòu)類型之間的轉(zhuǎn)換。本文就詳細(xì)介紹struct的使用方式
    2021-06-06
  • 從零學(xué)python系列之從文件讀取和保存數(shù)據(jù)

    從零學(xué)python系列之從文件讀取和保存數(shù)據(jù)

    在Python一般都是運(yùn)用內(nèi)置函數(shù)open()與文件進(jìn)行交互,下面說說具體用法
    2014-05-05
  • Python時(shí)間處理模塊time和datetime詳解

    Python時(shí)間處理模塊time和datetime詳解

    本文詳細(xì)介紹了Python中常用的時(shí)間處理模塊time和datetime,time模塊提供多種時(shí)間獲取和轉(zhuǎn)換功能,datetime模塊則在time的基礎(chǔ)上增加了日期和時(shí)間的組合處理,如datetime.now()獲取當(dāng)前日期時(shí)間,兩個(gè)模塊在日常編程中非常有用,尤其是在需要時(shí)間日期計(jì)算和轉(zhuǎn)換的場景下
    2024-10-10
  • Python實(shí)現(xiàn)多線程抓取妹子圖

    Python實(shí)現(xiàn)多線程抓取妹子圖

    本文給大家匯總了3款由Python制作的多線程批量抓取美圖的代碼,主要是將獲取圖片鏈接任務(wù)和下載圖片任務(wù)用線程分開來處理了,而且這次的爬蟲不僅僅可以爬第一頁的圖片鏈接的,有類似需求的小伙伴可以參考下。
    2015-08-08
  • 使用Python腳本在Mac上徹底清除Chrome瀏覽歷史的操作流程

    使用Python腳本在Mac上徹底清除Chrome瀏覽歷史的操作流程

    在Mac系統(tǒng)下,Chrome瀏覽器的歷史記錄文件通常以SQLite數(shù)據(jù)庫形式存儲(chǔ)于用戶目錄中,僅通過瀏覽器內(nèi)置功能清理可能殘留索引文件,本文通過一個(gè)Python腳本的解析,演示如何結(jié)合PyCharm開發(fā)環(huán)境,實(shí)現(xiàn)自動(dòng)化深度清理,需要的朋友可以參考下
    2025-04-04
  • python基于itchat模塊實(shí)現(xiàn)微信防撤回

    python基于itchat模塊實(shí)現(xiàn)微信防撤回

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)微信防撤回,基于itchat模塊,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04

最新評(píng)論

安福县| 房产| 健康| 宁乡县| 武穴市| 石狮市| 右玉县| 永川市| 西畴县| 永济市| 吴江市| 武平县| 来宾市| 武冈市| 分宜县| 张家港市| 太和县| 宝山区| 昂仁县| 景德镇市| 望城县| 孝义市| 东丰县| 弥勒县| 柯坪县| 确山县| 壶关县| 乐山市| 集贤县| 全州县| 濉溪县| 大方县| 巴林左旗| 博罗县| 宽城| 民和| 泉州市| 陆河县| 阳西县| 华蓥市| 乐都县|