Python - ファイルやフォルダの移動と上書き
質問
ファイルやフォルダーがあるディレクトリ 'Dst ディレクトリ' と、同じくファイルやフォルダーがある 'src ディレクトリ' があります。src ディレクトリ」の内容を「Dst ディレクトリ」に移動し、同じ名前のファイルがあれば上書きしたいのです。例えば、'Src Directory'の内容を'Dst Directory'に移動して、既存のfile.txtを上書きする必要があります。いくつかのフォルダについても同様で、フォルダを移動して、'dstディレクトリ'にある同じフォルダと内容をマージする必要があります。
現在、shutil.move を使って src の内容を dst に移動していますが、ファイルがすでに存在する場合は実行されず、フォルダのマージも行われず、既存のフォルダの中にフォルダが置かれるだけです。
更新: 物事をもう少し明確にするために、私が行っていることは、アーカイブを Dst ディレクトリに解凍し、Src ディレクトリのコンテンツをそこに移動して再解凍し、効果的に zip アーカイブ内のファイルを更新することです。これは、新しいファイルや新しいバージョンのファイルなどを追加するために繰り返されます。
解決しました。これは、src ディレクトリから dst ディレクトリにフォルダとファイルをコピーし、必要な箇所を上書き/マージします。これが何人かの人々の助けになることを願っています。
ご理解いただけたでしょうか。 ありがとうございます!
どのように解決するのですか?
使用方法
copy()
を使うことで、保存先のファイルを上書きすることができます。もし、最初のツリーを消したい場合は、単に
rmtree()
としてください。
http://docs.python.org/library/shutil.html#shutil.copy
http://docs.python.org/library/shutil.html#shutil.rmtree
更新しました。
を行う。
os.walk()
をソースツリー上で実行します。各ディレクトリについて、宛先側に存在するかどうかをチェックし、 その上で
os.makedirs()
を実行します。各ファイルについて、単に
shutil.copy()
で、ファイルが作成されるか上書きされるかのどちらかになります。
関連
-
[解決済み] staticmethodとclassmethodの違いについて
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] ファイルのコピー方法について教えてください。
-
[解決済み] Pythonでファイルを移動するには?
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み] PythonでのAWS Lambdaのインポートモジュールエラー
-
[解決済み] DataFrameに日付間の日数カラムを追加する pandas
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Python 2.7サポート終了?
-
[解決済み] pandasのタイムゾーンに対応したDateTimeIndexを、特定のタイムゾーンに対応したナイーブなタイムスタンプに変換する。
-
[解決済み] Cythonのコードを含むPythonパッケージはどのように構成すればよいのでしょうか?
-
[解決済み] tensorflowのCPUのみのインストールでダイナミックライブラリ 'cudart64_101.dll' を読み込めなかった
-
[解決済み] Flask でグローバル変数はスレッドセーフか?リクエスト間でデータを共有するには?
-
[解決済み] Flaskで非同期タスクを作る
-
[解決済み] virtualenv の `--no-site-packages` オプションを元に戻す。
-
[解決済み] virtualenvsはどこに作成するのですか?
-
[解決済み] あるメソッドが複数の引数のうち1つの引数で呼び出されたことを保証する
-
[解決済み] Alembicアップグレードスクリプトでインサートやアップデートを実行するにはどうすればよいですか?