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

Python實現(xiàn)Windows環(huán)境下自動備份文件到遠程目錄

 更新時間:2026年02月09日 09:22:23   作者:清山博客  
這篇文章主要為大家詳細介紹了如何使用Python實現(xiàn)Windows環(huán)境下自動備份文件到遠程目錄,文中的示例代碼講解詳細,感興趣的小伙伴可以了解下

每逢節(jié)假日,公司要求備份一次源碼到共享目錄。于是寫了一個腳本,用來自動備份。

工作原理:

1.使用python的os.walk方法,遍歷需要備份的目錄文件。

2.使用python的zipfile模塊,將文件夾打包成zip壓縮包。

import zipfile
import os
from datetime import datetime

# 壓縮文件夾到指定路徑
def compress_directory(directory_path, output_path):
    with zipfile.ZipFile(output_path, 'w', zipfile.ZIP_DEFLATED) as zipf:
        for root, dirs, files in os.walk(directory_path):
            for file in files:
                file_path = os.path.join(root, file)
                if file_path.find(".git") > -1:
                    zipf.write(file_path, arcname=os.path.relpath(
                        file_path, directory_path))


if __name__ == '__main__':
    # 源碼目錄
    dirPath = "E:\\Git"

    # 備份目錄(存放壓縮文件)
    toPath = '\\\\192.168.*.*\\源碼備份\\2024-04-03\\'

    if not os.path.exists(toPath):
        os.makedirs(toPath)

    dirs = {}
    for file in os.listdir(dirPath):
        file_path = os.path.join(dirPath, file)
        # 條件篩選
        if os.path.isdir(file_path) and file_path.find("[自定義過濾條件]") > -1:
            dirs[file] = file_path

    print("開始備份源碼,共"+str(len(dirs))+"個目錄")
    i = 0
    for key, val in dirs.items():
        i = i+1
        print(datetime.now().strftime("%Y-%m-%d %H:%M:%S") +" 正在備份("+str(i)+"/"+str(len(dirs)) + "):"+val)
        compress_directory(val, os.path.join(toPath, key+".zip"))
        print(datetime.now().strftime("%Y-%m-%d %H:%M:%S") +" 備份完畢("+str(i)+"/"+str(len(dirs)) + "):"+val)

注意,請將文中的 dirPath、toPath 替換為你實際的路徑,路徑"\"需轉(zhuǎn)義"\\"。

# 源碼目錄
 dirPath = "E:\\Git"
# 備份目錄(存放壓縮文件)
 toPath = '\\\\192.168.*.*\\源碼備份\\2024-04-03\\'
#[自定義過濾條件] 可以設置過濾規(guī)則。

方法補充

下面是小編整理的其他Python備份文件的方法,希望對大家有所幫助

1.Python實現(xiàn)制作文件的備份

import os
 
def backup_file(filename):
    """制作文件的備份
    Args:
        filename: 要備份的文件名
    Returns:
        None
    """
 
    # 判斷文件是否存在
    if not os.path.isfile(filename):
        print("文件不存在")
        return
 
    # 獲取文件路徑和擴展名
    filepath, ext = os.path.splitext(filename)
 
    # 生成備份文件名
    backup_filename = filepath + "_backup" + ext
 
    # 判斷備份文件是否存在
    if os.path.isfile(backup_filename):
        # 覆蓋備份文件
        print("備份文件已存在,將覆蓋原有文件")
    else:
        # 創(chuàng)建備份文件
        print("正在創(chuàng)建備份文件...")
 
    # 復制文件
    shutil.copyfile(filename, backup_filename)
 
    # 提示成功信息
    print("備份成功")
 
# 使用示例
filename = "/path/to/file.txt"
 
backup_file(filename)

2.Python中的文件備份

def copyFile():
    # 接收用戶輸入的文件名
    old_File = input('請輸入要備份的文件名')
    file_list = old_File.split('.')
    # 構(gòu)建新的文件名.加上備份的后綴
    new_file = file_list[0] + '_備份.' + file_list[1]
    old_f = open(old_File, 'r')  # 打開需要備份的文件
    new_f = open(new_file, 'w')  # 以寫的模式去打開新文件,不存在則創(chuàng)建
    content = old_f.read()  # 將文件內(nèi)容讀取出來
    new_f.write(content)  # 將讀取的內(nèi)容寫到備份文件中
    old_f.close()
    new_f.close()
    pass
 
 
copyFile()

如果文件太大,如超過1-2個g,這個代碼就不太合適了。我們的內(nèi)存是不夠的。

如果處理超大文件,一次性將全部內(nèi)容讀取到內(nèi)存地址是不合適的,接下來進行代碼修改。

def copyFile():
    # 接收用戶輸入的文件名
    old_File = input('請輸入要備份的文件名')
    file_list = old_File.split('.')
    # 構(gòu)建新的文件名.加上備份的后綴
    new_file = file_list[0] + '_備份.' + file_list[1]
    try:
        with open(old_File, 'r') as old_f, open(new_file, 'w') as new_f:
            while True:
                content = old_f.read(1024)  # 一次性讀取1024個字符
                new_f.write(content)
                if len(content)<1024:
                    break
    except Exception as msg:
        print(msg)
 
copyFile()

到此這篇關(guān)于Python實現(xiàn)Windows環(huán)境下自動備份文件到遠程目錄的文章就介紹到這了,更多相關(guān)Python自動備份文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python 換位密碼算法的實例詳解

    python 換位密碼算法的實例詳解

    這篇文章主要介紹了python 換位密碼算法的實例詳解的相關(guān)資料,換位密碼基本原理:先把明文按照固定長度進行分組,然后對每一組的字符進行換位操作,從而實現(xiàn)加密,需要的朋友可以參考下
    2017-07-07
  • Scrapy從腳本運行到分布式爬取的技巧(進階實踐指南)

    Scrapy從腳本運行到分布式爬取的技巧(進階實踐指南)

    Scrapy作為Python生態(tài)中最強大的爬蟲框架之一,其官方文檔的"Common Practices"章節(jié)總結(jié)了多個高頻使用場景的解決方案,這篇文章給大家介紹Scrapy進階實踐指南:從腳本運行到分布式爬取,感興趣的朋友一起看看吧
    2025-05-05
  • 深入Python Tkinter 模塊

    深入Python Tkinter 模塊

    本文介紹Python Tkinter模塊,強調(diào)其輕量、跨平臺、無依賴的優(yōu)勢,適用于快速開發(fā)無需復雜環(huán)境配置的桌面工具,通過布局、事件回調(diào)、樣式美化等核心技巧,結(jié)合PyInstaller打包,實現(xiàn)從腳本到可交付程序的完整流程,適合制作簡單實用的小工具,感興趣的朋友跟隨小編一起看看吧
    2025-08-08
  • Python中read()、readline()和readlines()三者間的區(qū)別和用法

    Python中read()、readline()和readlines()三者間的區(qū)別和用法

    這篇文章主要給大家介紹了關(guān)于Python中讀取文件的read()、readline()和readlines()方法三者間的區(qū)別和用法,需要的朋友可以參考下
    2017-07-07
  • Python使用import導入本地腳本及導入模塊的技巧總結(jié)

    Python使用import導入本地腳本及導入模塊的技巧總結(jié)

    這篇文章主要介紹了Python使用import導入本地腳本及導入模塊的技巧,結(jié)合實例形式總結(jié)分析了Python使用import導入本地腳本及導入模塊的使用方法及相關(guān)操作注意事項,需要的朋友可以參考下
    2019-08-08
  • Python sublime安裝及配置過程詳解

    Python sublime安裝及配置過程詳解

    這篇文章主要介紹了Python sublime安裝及配置過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06
  • Python time.time()方法

    Python time.time()方法

    這篇文章主要介紹了詳解Python中time.time()方法的使用的教程,是Python入門學習中的基礎(chǔ)知識,需要的朋友可以參考下,希望能給你帶來幫助
    2021-08-08
  • python實現(xiàn)簡單遺傳算法

    python實現(xiàn)簡單遺傳算法

    這篇文章主要為大家詳細介紹了python實現(xiàn)簡單的遺傳算法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • python實現(xiàn)PolynomialFeatures多項式的方法

    python實現(xiàn)PolynomialFeatures多項式的方法

    這篇文章主要介紹了python實現(xiàn)PolynomialFeatures多項式的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • Django數(shù)據(jù)映射(一對一,一對多,多對多)

    Django數(shù)據(jù)映射(一對一,一對多,多對多)

    本文主要介紹了Django數(shù)據(jù)映射(一對一,一對多,多對多),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08

最新評論

淳安县| 滕州市| 绥滨县| 岑巩县| 和顺县| 东乡族自治县| 康定县| 祥云县| 阳高县| 沙洋县| 临沂市| 辛集市| 定结县| 绥化市| 色达县| 清徐县| 饶河县| 扶余县| 文成县| 恩平市| 井研县| 独山县| 托克逊县| 桐乡市| 朝阳市| 武义县| 沅江市| 中牟县| 南城县| 济宁市| 高青县| 花莲县| 合川市| 陵川县| 万山特区| 修武县| 张家川| 罗平县| 桦甸市| 宁安市| 鹤峰县|