Python バックアップ ディレクトリとそのディレクトリ下のすべてのコンテンツを実装する方法
元々、TortoiseSVN を直接呼び出して現在のコードをブランチに保存できるものを書きたかったのです。
残念ながら、SVN を呼び出す部分はまだ研究中です。最初にディレクトリコピー部分を書きました。
Python を勉強したい人がいたら、アイデアや提案を提供してください。
よろしくお願いします。 :)
ディレクトリのコピー部分に関しては、考え方は非常にシンプルです。設定ファイル内の設定情報を読み取ります。
プロジェクト名と日付と時刻を組み合わせたブランチ名という名前のフォルダーを生成します。すべてのコンテンツを現在のプロジェクトの下に置きます
このディレクトリにコピーします。
次に行うべき調査は、TortoiseSVN コマンドを呼び出して、コードのこの部分を埋め込むことです。
次にコードを見てみましょう:
1. 設定ファイルを読み込みます
設定ファイルはシンプルです。 txtファイルを使用します。 形式は次のようなものです:
# root:/Users/lichallenger/test_src/ # project:test # destination:/Users/lichallenger/test_dst/
ところで: 私は Mac を使用しているので、ディレクトリ形式は次のようになります。 Windows を使用している場合は、適応してください
設定ファイルを変更する場合。
ファイルを読み取るのが最も簡単です。標準ライブラリのファイル操作モジュールを直接使用して、ファイルを開いてすべての設定を読み出します。全部で3行しかないので
効率など考える必要はありません。
# open config file and read config information # author: bruce li class ConfigHandler(object): # def __init__(self,config_path): '''initializer''' self.config_path = config_path #read config infor def read_config(self): f = open(self.config_path) try: self.all_lines = f.readlines() except: raise else: f.close()
2. ディレクトリとディレクトリの内容をコピーします
ディレクトリのコピーには shutil モジュールが使用されます。ディレクトリとその配下のすべての内容を、指定した別のディレクトリに直接コピーする方法があります。
これにより、ディレクトリ トラバーサルやその他のコードが不要になります。
# copy dir(s) & file(s) to configured path # author: bruce li import shutil class CopyHandler(object): # def __init__(self,src_path,dest_path): self.src_path = src_path self.dest_path = dest_path def move_content(self): try: shutil.copytree(self.src_path,self.dest_path) except: raise @staticmethod def move_src_content(src, dest): try: shutil.copytree(src_path,dest_path) except: raise
3. 包括的な通話
ここでは time モジュールを使用して現在時刻を取得し、ターゲット フォルダー名の一部を生成します。
外部から Python に渡される最初のシステムパラメータはファイル名です。このファイルは、C# プロジェクトのプログラム ファイル
に相当します。これには main 関数が含まれます。ただし、この関数に main という名前を付ける必要はありません。
Python コードの改行文字にも注意してください。
# ディレクトリコピー関数のメイン
import sys import time from code_bk_cpy import * from code_bk_config import * #print __name__ def main(): config_path = sys.argv[1] # check if path of configuration path is empty if (not config_path): print 'configuration information is needed' return -1 config_handler = ConfigHandler(config_path) config_handler.read_config() config_list = config_handler.all_lines if len(config_list) != 3: print 'configuration information is not correct' return -1 # set source sep = ':' current_datetime = time.localtime(time.time()) root_path = config_list[0].split(sep)[1] prj_name = config_list[1].split(sep)[1] dst_path = config_list[2].split(sep)[1] root_path = (root_path + prj_name).replace('\n','') prj_folder = prj_name + str(current_datetime.tm_year) + str(current_datetime.tm_mon) + \ str(current_datetime.tm_mday) + str(current_datetime.tm_hour) + \ str(current_datetime.tm_min) + str(current_datetime.tm_sec) dst_path = (dst_path + '/' + prj_folder + '/').replace('\n','') copy_handler = CopyHandler(root_path,dst_path) copy_handler.move_content() print 'content moved' # start main function print __name__ if __name__ == "__main__": main()
時間があるときに、TortoiseSVN の呼び出し部分を勉強します。難しいことはないと思います。exe を呼び出してパラメータを渡すだけです。
私は Python を初めて使用します。質問がある場合は修正してください。ありがとう。
上記のPythonバックアップディレクトリの実装方法とディレクトリ内の内容はすべてエディタで共有している内容ですので、参考にしていただければ幸いです。Script Homeをご支援いただければ幸いです。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック









PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

VSコードはWindows 8で実行できますが、エクスペリエンスは大きくない場合があります。まず、システムが最新のパッチに更新されていることを確認してから、システムアーキテクチャに一致するVSコードインストールパッケージをダウンロードして、プロンプトとしてインストールします。インストール後、一部の拡張機能はWindows 8と互換性があり、代替拡張機能を探すか、仮想マシンで新しいWindowsシステムを使用する必要があることに注意してください。必要な拡張機能をインストールして、適切に動作するかどうかを確認します。 Windows 8ではVSコードは実行可能ですが、開発エクスペリエンスとセキュリティを向上させるために、新しいWindowsシステムにアップグレードすることをお勧めします。

VSコード拡張機能は、悪意のあるコードの隠れ、脆弱性の活用、合法的な拡張機能としての自慰行為など、悪意のあるリスクを引き起こします。悪意のある拡張機能を識別する方法には、パブリッシャーのチェック、コメントの読み取り、コードのチェック、およびインストールに注意してください。セキュリティ対策には、セキュリティ認識、良好な習慣、定期的な更新、ウイルス対策ソフトウェアも含まれます。

VSコードはPythonの書き込みに使用でき、Pythonアプリケーションを開発するための理想的なツールになる多くの機能を提供できます。ユーザーは以下を可能にします。Python拡張機能をインストールして、コードの完了、構文の強調表示、デバッグなどの関数を取得できます。デバッガーを使用して、コードを段階的に追跡し、エラーを見つけて修正します。バージョンコントロールのためにGitを統合します。コードフォーマットツールを使用して、コードの一貫性を維持します。糸くずツールを使用して、事前に潜在的な問題を発見します。

VSコードでは、次の手順を通じて端末でプログラムを実行できます。コードを準備し、統合端子を開き、コードディレクトリが端末作業ディレクトリと一致していることを確認します。プログラミング言語(pythonのpython your_file_name.pyなど)に従って実行コマンドを選択して、それが正常に実行されるかどうかを確認し、エラーを解決します。デバッガーを使用して、デバッグ効率を向上させます。

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

VSコードはMacで利用できます。強力な拡張機能、GIT統合、ターミナル、デバッガーがあり、豊富なセットアップオプションも提供しています。ただし、特に大規模なプロジェクトまたは非常に専門的な開発の場合、コードと機能的な制限がある場合があります。
