[解決済み】Pythonを使用して、ファイルのディレクトリ全体を既存のディレクトリにコピーするにはどうすればよいですか?
2022-03-29 16:35:31
質問
という名前のディレクトリを含むディレクトリから次のコードを実行してください。
bar
(1つまたは複数のファイルを含む)という名前のディレクトリと
baz
(同じく1つまたは複数のファイルを含む)。 という名前のディレクトリがないことを確認してください。
foo
.
import shutil
shutil.copytree('bar', 'foo')
shutil.copytree('baz', 'foo')
で失敗します。
$ python copytree_test.py
Traceback (most recent call last):
File "copytree_test.py", line 5, in <module>
shutil.copytree('baz', 'foo')
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/shutil.py", line 110, in copytree
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/os.py", line 172, in makedirs
OSError: [Errno 17] File exists: 'foo'
タイプしたときと同じように動作させたい。
$ mkdir foo
$ cp bar/* foo/
$ cp baz/* foo/
を使用する必要がありますか?
shutil.copy()
の各ファイルをコピーするために
baz
を
foo
? (すでに 'bar' の中身を 'foo' にコピーした後に
shutil.copytree()
?) それとも、もっと簡単で良い方法があるのでしょうか?
どのように解決するのですか?
この規格の制限事項
shutil.copytree
は、恣意的で迷惑な感じがします。回避策
import os, shutil
def copytree(src, dst, symlinks=False, ignore=None):
for item in os.listdir(src):
s = os.path.join(src, item)
d = os.path.join(dst, item)
if os.path.isdir(s):
shutil.copytree(s, d, symlinks, ignore)
else:
shutil.copy2(s, d)
標準の
copytree
:
-
を尊重しません。
symlinks
とignore
のルートディレクトリのパラメータを指定します。src
ツリーを作成します。 -
を発生させない。
shutil.Error
のルートレベルでのエラーに対してsrc
; -
サブツリーのコピー中にエラーが発生した場合は
shutil.Error
を上げる代わりに、そのサブツリーに対してshutil.Error
.
関連
-
pythonを使ったオフィス自動化コード例
-
[解決済み】csv.Error:イテレータはバイトではなく文字列を返すべき
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] ファイルのコピー方法について教えてください。
-
[解決済み] Pythonでファイルやフォルダを削除する方法は?
-
[解決済み] リストを均等な大きさの塊に分割するには?
-
[解決済み] pipでPythonの全パッケージをアップグレードする方法
-
[解決済み] Pythonでディレクトリが存在するかどうかを確認する方法
-
[解決済み】ネストされたディレクトリを安全に作成するには?
最新
-
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サンプルコード
-
python call matlab メソッドの詳細
-
任意波形を生成してtxtで保存するためのPython実装
-
[解決済み] _tkinter.TclError: 表示名がなく、$DISPLAY環境変数もない。
-
[解決済み】TypeErrorの修正方法。Unicodeオブジェクトは、ハッシュ化する前にエンコードする必要がある?
-
[解決済み】TypeErrorを取得しました。エントリを持つ子テーブルの後に親テーブルを追加しようとすると、 __init__() missing 1 required positional argument: 'on_delete'
-
[解決済み] TypeError: 'DataFrame' オブジェクトは呼び出し可能ではない
-
[解決済み】Python: SyntaxError: キーワードは式になり得ない
-
[解決済み】「OverflowError: Python int too large to convert to C long" on windows but not mac
-
[解決済み】cアンダースコア式`c_`は、具体的に何をするのですか?