Personal tools
You are here: Home Lights on Zope python shutil.copytree でディレクトリを再帰的にコピー
« April 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
29 30          
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
познакомлюсь с мужчиной от 45 до 55 loveawake.ru 2018-03-29
Mark joins Dissertation Advise Band markormann 2018-03-26
Лучшее в 2018 без Медицины KevinCound 2018-03-23
Лучшее в 2018 без Медицины KevinCound 2018-03-23
Лучшее в 2018 без Медицины KevinCound 2018-03-23
Лучшее в 2018 без Медицины KevinCound 2018-03-23
Лучшее в 2018 без Медицины KevinCound 2018-03-23
Укладка ламината и паркета AlexanderawasH 2018-03-22
познакомлюсь с мужчиной старше 50 лет loveawake.ru 2018-03-18
познакомится с мужчиной из германии ZevsDwexy 2018-03-08
Здравствуйте Bryandipse 2018-03-08
Здравствуйте Bryandipse 2018-03-08
Здравствуйте Bryandipse 2018-03-08
Здравствуйте Bryandipse 2018-03-08
Recent trackbacks
UGG靴 韓国 コピー UGG靴 韓国 コピー 2018-03-11
時計コピー 時計コピー 2018-02-27
ブランドコピー ブランドコピー 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
 
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: