Python はフォルダー同期を実装します
2 つのフォルダーの内容を /usr/local/a フォルダーから /usr/local/b フォルダーに同期するために使用される SynDirTool クラスを定義します。 実行メソッド:
Python コード
python SynDirTool.py /usr/local/a /usr/local/b
SynDirTool。 py ファイルの内容:
Python コード
#!/usr/bin/python # -*- coding:utf-8 -*- import os import shutil import sys import logging class SynDirTool: def __init__(self,fromdir,todir): self.fromdir = fromdir self.todir = todir def synDir(self): return self.__copyDir(self.fromdir,self.todir) def __copyDir(self,fromdir,todir): #防止该目录不存在,创建目录 self.__mkdir(todir) count = 0 for filename in os.listdir(fromdir): if filename.startswith('.'): continue fromfile = fromdir + os.sep + filename tofile = todir + os.sep + filename if os.path.isdir(fromfile): count += self.__copyDir(fromfile,tofile) else: count += self.__copyFile(fromfile,tofile) return count def __copyFile(self,fromfile,tofile): if not os.path.exists(tofile) : shutil.copy2(fromfile,tofile) logging.info("新增%s ==> %s" % (fromfile,tofile)) return 1 fromstat = os.stat(fromfile) tostat = os.stat(tofile) if fromstat.st_ctime > tostat.st_ctime: shutil.copy2(fromfile,tofile) logging.info("更新%s ==> %s" % (fromfile,tofile)) return 1 return 0 def __mkdir(self,path): # 去除首位空格 path=path.strip() # 去除尾部 \ 符号 或者 / path=path.rstrip(os.sep) # 判断路径是否存在 isExists=os.path.exists(path) # 判断结果 if not isExists: # 如果不存在则创建目录 logging.info(path+' 目录创建成功') # 创建目录操作函数 os.makedirs(path) if __name__ == '__main__': srcdir=sys.argv[1] descdir=sys.argv[2] logging.basicConfig(filename='SynDirTool.log', level=logging.INFO) tool = SynDirTool(srcdir,descdir) count += tool.synDir()
注:
1. ログは、SynDirTool.py ファイルと同じディレクトリにある SynDirTool.log ファイルに出力されます
2. 宛先フォルダーにファイルが既に存在する場合。 、ファイルが新しい場合、ソースフォルダー内のファイルはコピーされなくなります

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











多くのウェブサイト開発者は、ランプアーキテクチャの下でnode.jsまたはPythonサービスを統合する問題に直面しています:既存のランプ(Linux Apache MySQL PHP)アーキテクチャWebサイトのニーズ...

Scapy Crawlerを使用する場合、パイプラインの永続的なストレージファイルを書くことができない理由は?ディスカッションデータクローラーにScapy Crawlerを使用することを学ぶとき、あなたはしばしば...

Python Process Poolは、クライアントが立ち往生する原因となる同時TCP要求を処理します。ネットワークプログラミングにPythonを使用する場合、同時のTCP要求を効率的に処理することが重要です。 ...

python functools.partialオブジェクトのpython functools.partialを使用してPythonを使用する視聴方法を深く探索します。

Pythonクロスプラットフォームデスクトップアプリケーション開発ライブラリの選択多くのPython開発者は、WindowsシステムとLinuxシステムの両方で実行できるデスクトップアプリケーションを開発したいと考えています...

Python:Hourglassグラフィック図面と入力検証この記事では、Python NoviceがHourglass Graphic Drawingプログラムで遭遇する可変定義の問題を解決します。コード...

データの変換と統計:大規模なデータセットの効率的な処理この記事では、製品情報を含むデータリストを別の含有しているものに変換する方法を詳細に紹介します...

LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...
