分享Python製作的單向目錄同步打包工具

2021-06-12 02:37:52 字數 2051 閱讀 4174

csdn 

github 

簡單說明:

sync_dir : 同步兩個目錄(從源到目標)

zip_dir : 打包目錄

打包版本時候,只要簡單配置就行了,十分方便,linux下,windows下都適用

import os,time,shutil,zipfile

# 同步目錄

# src_dir 源目錄

# dst_dir 目標目錄

# is_recursion 是否遞迴

# ignores 忽略檔名列表

def sync_dir(src_dir, dst_dir, is_recursion=true, ignores=):

files = os.listdir(src_dir)

for f in files:

# 忽略列表

if f in ignores: continue

src_path = os.path.join(src_dir, f)

dst_path = os.path.join(dst_dir, f)

if os.path.isdir(src_path):

# 是否遞迴

if not is_recursion: continue

# 建立目錄

try:

os.mkdir(dst_path)

print "mkdir", dst_path

except:

pass

sync_dir(src_path, dst_path, is_recursion, ignores)

else:

print "copy", src_path, dst_path

shutil.copyfile(src_path, dst_path)

# 壓縮目錄

def zip_dir(src_dir, output_file, is_recursion=true, ignores=):

f = zipfile.zipfile(output_file, 'w', zipfile.zip_deflated)

_zip(src_dir, f, is_recursion, ignores, src_dir)

f.close()

def _zip(src_dir, zip_file, is_recursion, ignores, root_path):

files = os.listdir(src_dir)

for f in files:

# 忽略列表

if f in ignores: continue

src_path = os.path.join(src_dir, f)

zip_path = src_path[len(root_path):]

if os.path.isdir(src_path):

# 是否遞迴

if not is_recursion: continue

# 建立目錄

try:

zip_file.write(src_path, zip_path)

print "mkdir", src_path, zip_path

except:

pass

_zip(src_path, zip_file, is_recursion, ignores, root_path)

else:

print "zip", src_path, zip_path

zip_file.write(src_path, zip_path)

def main():

print "run -------------------"

# test

sync_dir('./src', './dst', true, ['svn'])

zip_dir('./src', './out.zip', true, ['svn'])

print "over ------------------"

if __name__ == '__main__':

main()

頭髮製作 分享 頭髮的製作思路

小哥哥,小姐姐,好久不見,想我沒呀。什麼我幹啥去了?划水當然是划水了。我騙你?哈?無圖無真相?行,讓你心服口服。去大理麗江划水,人家都說是豔遇之城,為啥跟我沒關係吶?不扯淡了,今天給大家帶來的是最近做完的角色頭髮的製作思路。1頭髮的搭建 1頭髮基礎層的搭建 這一步主要要做的就是把頭髮的大型搭建出來。...

製作nginx的spec分享

再跟大家分享乙個我在奇虎這邊做的乙個nginx的rpm包的spec檔案。後面我再分享一下php和mysql等大家用的比較普遍的軟體的spec。大家在做rpm包的時候可以參考我的這個文件,後面還包含了一些針對核心的優化的一些引數特別是tcp的快速釋放和重利用等,遇到問題我們可以一起討論。可以加這個qq...

樹目錄選單的製作

製作方法 第一步 嵌入 把下面這段 複製到 標籤之間。第二步 製作選單。將 插入到頁面中要出現樹形目錄的地方。下面是一段 範例 如果我們仔細分析一下的話不難發現製作列表的秘訣就是乙個大的列表 主目錄名稱 對應位址 子目錄名稱 對應位址 子目錄名稱 對應位址 子目錄名稱 這樣的好處是新增子選單非常容易...