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

  • geraldnonadoez

    geraldnonado

    3 Temmuz 2013
  • Liberator

    Liberator

    14 EYLÜL 2007
  • Machinima

    Machinima

    17 Ocak 2006