SORU
3 Ocak 2010, Pazar


Ya da Python dizinine kopyalayın

Python dosya kopyalama fonksiyonları (örneğin shutil.var gibi görünüyor kopyalama ve kopyalama dizinleri (örneğin shutil.fonksiyonları copytree) ama işleyen herhangi bir fonksiyon bulamadım. Elbette, önemsiz bir dosya veya dizini kopyalamak istediğiniz olup olmadığını kontrol etmek için, ama garip bir eksiklik gibi görünüyor.

Gerçekten unıx gibi çalışan standart bir işlevi yoktur "" komutu, yani destekler hem dizinleri ve dosyaları? cp Python bu soruna geçici bir çözüm bulmak için en zarif yolu nedir?

edit: dediğim Zaman "" yani "- r". cp cp Bunun için üzgünüm. Ve herhangi bir dizin kopyalamak istiyorum özyinelemeli (" ve shutil. "- r cp gibi copytree yok).

CEVAP
3 Ocak 2010, Pazar


İlk shutil.copytree, ve eğer bir özel durum oluşursa, o zaman shutil.copy ile yeniden dene derim.

import shutil, errno

def copyanything(src, dst):
    try:
        shutil.copytree(src, dst)
    except OSError as exc: # python >2.5
        if exc.errno == errno.ENOTDIR:
            shutil.copy(src, dst)
        else: raise

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Anthony Le

    Anthony Le

    10 EKİM 2006
  • Dan Gately

    Dan Gately

    13 AĞUSTOS 2006
  • The Onion

    The Onion

    14 Mart 2006