[Çözüldü] Dosya Kontrolü

Başlatan fghty, 10 Nisan 2012 - 22:23:14

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

fghty

Ben dosya kopyalarken kopyalacağım dizinde aynı dosya varmı deye kontrol yapan bi kod yazmaya çalıştım. Ama kontrol yaparken her olmayan dosya için kopyalama işlemi yapıyor bu soprunu nasıl halledebilirim?

import os, shutil
y = "E:\\Calisma\\K\\"
a = os.listdir(y)
b="PyNet.pdf"
for i in a:
    if i!=b:
        shutil.copy2("E:\\Calisma\\"+b, y)
        print "%s dosyası kopyalandı" %(b)
    else:
        print "%s dosyası var" %(b)
        break

cagriemer

Bu kod istediginiz isi neden yapmiyor onu aciklamaya calisayim dilimin dondugunce sonra siz tekrar bakin. Verdiginiz dizinde bulunan dosya adlariyla 'PyNet.pdf' metinini karsilastiriyorsunuz. Iki isim ayni olmadigindan her farkli isimdeki dosya icin kopyalama islemi yapiyor. Aradiginiz kod sanirim os.path.exists('/buraya/dizin/gelecek/PyNet.pdf') Python kutuphanesinden[1] daha detayli olarak bakabilirsiniz.

[1] http://docs.python.org/release/3.2/library/os.path.html

fghty

Hocam bi de şu yöntem de işe yaradı:

import os, shutil
y = "E:\\Calisma\\K\\"
a = os.listdir(y)
b=["PyNet.pdf","yazi.txt","resim.jpg"]
for i in b:
    if i not in a:
        shutil.copy2("E:\\Calisma\\"+i, y)
        print "%s dosyası kopyalandı" %(i)

    else:
        print "%s dosyası var" %(i)

cagriemer

Sorun cozuldugu icin etiketleyip kilitliyorum. Siz de cozulen sorunlarinizin bulundugu basliklari cozuldu olarak etiketleyebilirsiniz. http://forum.ubuntu-tr.net/index.php?topic=31789