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

  • Jabari Johnson

    Jabari Johns

    18 Ocak 2008
  • Leigh Momii

    Leigh Momii

    10 Mayıs 2006
  • MisterBrightside

    MisterBright

    24 Mart 2006