ファイルをコピー Python: shutil.copy()、shutil.copystat() メソッド
Python ファイルのコピー方法
Python ファイルを簡単にコピーするための組み込み機能を提供します Operaシステム シェル ユーティリティを使用します。
ファイルをコピーするには次のコマンドを使用します
shutil.copy(src,dst)
メタデータ情報を含むファイルをコピーするには、次のコマンドを使用します。
shutil.copystat(src,dst)
ファイルをコピーする方法 Python
ファイルをコピーする手順は次のとおりです。 Python shutil copy() メソッドを使用する:
ステップ1) 現在のディレクトリ内の元のパスを取得します
ファイルをコピーする前に、現在のディレクトリにある元のファイルへのパスを取得する必要があります。 コード内 –
- 変数の宣言
- 変数に分割関数を適用する
コードの説明
- まず、「guru99.txt」ファイルが存在するかどうかを確認します。 先ほど guru99.txt ファイルを作成したので、それが存在することはわかっているので、さらにコードを進めます。
- ファイルパスを変数「」に保存します。SRC” ファイルが存在する場合
- パスを取得したら、パスとファイル名を分離します。
- そのために、分割を使用します
path.split
ソース変数の関数 - コードを実行すると「」が出力されます。ファイル名"と"ファイルパス" 別々に
ステップ2) shutil モジュールを使用して既存のファイルのコピーを作成します
Shutil モジュールを使用して、既存のファイルのコピーを作成します。 ここでは、既存のファイル「guru99.txt」のコピーを作成していました。
コードの説明
- 元のファイル名「guru99.txt」の末尾に .bak の文字を追加した「guru99.txt.bak」となります。 .bak 拡張子が付いたこの名前が複製コピーになります。
- 次に、ユーティリティのコピー機能を使用して、ソースから宛先にコピーします。
- コードを実行すると、拡張子 .bak を持つ重複ファイルがパネルの右側に作成されることがわかります。
ステップ3) ファイルに関連付けられたメタデータ、ファイル権限、その他の情報をコピーします
コピー機能はファイルの内容のみをコピーしますが、他の情報はコピーしません。 コピーする メタデータ ファイル、ファイルの権限、および使用する必要があるその他の情報に関連付けられています。コピースタット" 関数。 このコードを実行する前に、コピー ファイル「guru99.text.bak」を削除する必要があります。
ファイルを削除してプログラムを実行すると、.txt ファイルのコピーが作成されますが、今回は次のようなすべての情報が含まれます。 ファイルのパーミッション、変更時刻、メタデータ情報。 OS シェルに移動して情報を確認できます。
これがコードです
import os import shutil from os import path def main(): # make a duplicate of an existing file if path.exists("guru99.txt"): # get the path to the file in the current directory src = path.realpath("guru99.txt"); #seperate the path from the filter head, tail = path.split(src) print("path:" +head) print("file:" +tail) #let's make a backup copy by appending "bak" to the name dst = src+".bak" # nowuse the shell to make a copy of the file shutil.copy(src, dst) #copy over the permissions,modification shutil.copystat(src,dst) if __name__=="__main__": main()
ステップ4) 情報を取得する
最後に変更されたテキストファイルに関する情報を取得できます
-
コード行#15-.txtファイル(guru99)が最後に変更された日、日付、月、年、時刻を示します。パスモジュールを使用してファイルの変更時刻の詳細を取得し、次に 時間クラス c 時間関数 これを読み取り可能な時刻に変換します。コードを実行すると、ファイルguru99.txtが最後に変更された日時がわかります。 8月XNUMX日(月)th 13年35時2018分。
-
コード行 #17 - ファイルの変更に関する情報を提供することは同じですが、それを表す形式が異なります。 ここで使用するのは 変更時刻の取得関数 (path.getmtime(“guru99.txt”))。 ここで、c time 関数を使用する代わりに、次の関数を使用します。 タイムスタンプ機能から そして、日時オブジェクトを構築します。 出力では、ファイル変更時刻の詳細が異なる形式で出力されていることがわかります。 2018-01-08, 13:35:51.334072
これがコードです
# # Example file for working with o.s path module import os from os import path import datetime from datetime import date, time, timedelta import time def main(): # Get the modification time t = time.ctime(path.getmtime("guru99.txt.bak")) print(t) print(datetime.datetime.fromtimestamp(path.getmtime("guru99.txt.bak"))) if __name__ == "__main__": main()
まとめ
- コードを使用して既存のファイルのコピーを作成するには shutil.copy (src,dst)
- 元のファイルのすべての情報を次のような複製ファイルにコピーするには ファイルのパーミッション、変更時刻、またはメタデータ情報 コードshutil.copystat(src,dst)を使用して