Personal tools
You are here: Home Lights on Zope python shutil.copytree でディレクトリを再帰的にコピー
« February 2018 »
Su Mo Tu We Th Fr Sa
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28      
Recent entries
Python Anywhere seko 2016-11-19
帯状疱疹 seko 2016-11-18
Chromebook購入 seko 2016-11-03
マカロニさん めざせデータサイエンティスト seko 2016-11-02
脳波計muse 購入 seko 2016-09-04
フェルデンクライスメソッド227回目  seko 2016-08-27
EXCELマクロ タスクが残っていてTypeNameとShell.Applicationを使って起動済みのIEが探せない seko 2016-04-19
pythonでNITE 化学物質総合情報提供システムへアクセス seko 2016-04-19
Raspberry Pi 3で侵入者を発見 seko 2016-04-03
Raspberry Pi 3 OSのインストール seko 2016-04-02
Docker コンテナをexportするpythonスクリプト seko 2016-03-31
Effective Python ―Pythonプログラムを改良する59項目 seko 2016-03-30
確かな力が身につくPython「超」入門 鎌田 正浩 (著) seko 2016-03-29
pythonでバブルソート seko 2016-03-24
Recent comments
ножевой сервер css MauriceAmory 2018-02-18
Rescue me from remaking everything from scratch please :c GeorgeHap 2018-02-14
изготовление и поставка элементов трубопроводов Cherylbeery 2018-02-10
Сериалы ТУТ! смотреть онлайн бесплатно JosephRab 2018-02-09
Walking and Climbing DouglasBibia 2018-02-05
Важная информация KevinCound 2018-02-05
Важная информация KevinCound 2018-02-05
Важная информация KevinCound 2018-02-05
Важная информация KevinCound 2018-02-05
Важная информация KevinCound 2018-02-05
Re:pythonでOSとCPUコア数を判定する memo 2017-10-15
Re:Windows7のpythonからPostgresqlへ接続 通りすがり 2016-08-05
Windows10のpythonからPostgresqlへ接続 森内良子 2016-06-07
Re:二ヶ月ぶりの本屋の姉さん seko 2015-04-22
Recent trackbacks
ブランドコピー ブランドコピー 2017-12-08
スーパーコピー代引き スーパーコピー代引き 2017-12-08
ブランド時計コピー ブランド時計コピー 2017-12-08
エルメス偽物 エルメス偽物 2017-12-08
S品シャネル S品シャネル 2017-12-08
ブランド長財布コピー ブランド長財布コピー 2017-12-08
スーパーコピー スーパーコピー 2017-12-08
スーパーコピー時計 スーパーコピー時計 2017-12-08
ルイヴィトン長財布 ルイヴィトン長財布 2017-12-08
ロレックス偽物激安 ロレックス偽物激安 2017-12-08
スーパーコピー腕時計 スーパーコピー腕時計 2017-12-08
ルイヴィトン偽物 ルイヴィトン偽物 2017-12-08
ルイヴィトン財布偽物 ルイヴィトン財布偽物 2017-12-08
ブランド時計コピー ブランド時計コピー 2017-12-07
 
Document Actions

python shutil.copytree でディレクトリを再帰的にコピー

by seko posted at 2008-08-28 20:57 last modified 2008-08-28 21:39

今まで、pythonでファイルをコピーするときは、os.listdirを使ってファイルを選び、shuitl.copy2を使っていました。

ところが、今日マニュアルを見てみると、shutil.copytree というものがあり、それを使えば2二行でc:/backupからd:/backupにファイルを再帰的にコピーできることがわかりました。

Windowsで暗号化したファイルを手動でNTFSフォーマットされた外付けUSBディスクにコピーすると、暗号が解除されないままコピーされます。 PCが壊れていざバックアップを使おうと思った時に、暗号化されていて読めなかった情けない経験があります。

下のプログラムを使えば、NTFSにコピーしても暗号化は解除されるし、日付もそのままです。 これはすばらしいですね。

 #!/usr/bin/env python
# -*- coding: utf-8 -*-
import shutil
shutil.copytree('c:/backup','d:/backup')

以下は前述のcopytree()関数のドキュメント文字列を省略した実装例 です。本モジュールで提供される他の関数の使い方を示しています。

 def copytree(src, dst, symlinks=0):
    names = os.listdir(src)
    os.mkdir(dst)
    for name in names:
        srcname = os.path.join(src, name)
        dstname = os.path.join(dst, name)
        try:
            if symlinks and os.path.islink(srcname):
                linkto = os.readlink(srcname)
                os.symlink(linkto, dstname)
            elif os.path.isdir(srcname):
                copytree(srcname, dstname, symlinks)
            else:
                copy2(srcname, dstname)
        except (IOError, os.error), why:
            print "Can't copy %s to %s: %s" % (`srcname`, `dstname`, str(why))
Category(s)
python
The URL to Trackback this entry is:
http://lightson.dip.jp/blog/seko/1730/tbping
Add comment

You can add a comment by filling out the form below. Plain text formatting.

(Required)
(Required)
(Required)


Powered by Plone, the Open Source Content Management System

This site conforms to the following standards: