https://forum.ubuntu-tr.net/index.php?topic=57632.0
Linkteki dosya yöneticisini geliştirmeye devam ediyorum önemli bir kısmında takıldım. Küçük dosyalarda sorun yok ama büyük dosyaları başka bir dizine kopyalarken yönetici dosyaların kopyalanmasının sona ermesini bekliyor yani hareketsiz bekliyor uygulamayı hareket ettiremiyorsunuz başka bir işlem yapmak için dosyaların kopyalanmasının beklemek gerekiyor. Sanırım yöntem ile ilgili bir sorun. dosya kopyalarken yield kullanarak çözülebilir bir yazı okumuştm yiled ilede çözülmedi. Şmdi ben bu sorunu nasıl çözecem?
Eğer her seferinde olmuyor da ara sıra oluyorsa , pek sorun değil.
Dosya taşımada bu gibi bekleme veya normalden uzun sürmesi genelde dosya yöneticisinin desteklemediği veya yabancısı olduğu dosya taşınırsa oluyor.
Dosya yöneticisinin desteklemediği bir dosya olursa ben önce onu sıkıştırıyorum öyle taşıyorum.
Yani anlayacağın dosya yöneticileri adam seçer gibi dosya seçiyor, beğenmezse nakavt oluyor :)
Dolphinin dosya kopyalama hatalarından sonra Dosya yöneticisini sıfırdan kendim geliştirmeye karar vermiştim 1 aydır dosya kopyalamaya takıldım:)
Alıntı yapılan: .py - 21 Ocak 2018 - 12:50:03
Dolphinin dosya kopyalama hatalarından sonra Dosya yöneticisini sıfırdan kendim geliştirmeye karar vermiştim 1 aydır dosya kopyalamaya takıldım:)
İyi de ettin, umarım başarırsın :)
Keşke yazılımcı olsaydım, en azından deneylerinde yardımcı olurdum.
Selamün Aleyküm;
O takılmanın sebebi bir iş parçacığında (thread) birden fazla işlem yapmandan dolayı oluyor. Bunun için Thread'lere bakman gerekli ya da asynchronous programlamaya bakmalısın: https://docs.python.org/3/library/threading.html ve https://docs.python.org/3/library/asyncio.html
İnternette "thread, multithreading" ve "asynchronous" kelimeleriyle ilgili arama yapabilirsin.
Projene baktım, lakin PyGTK+ bilmiyorum, eğer Qt5 olsaydı yardımcı olurdum. Ama projeni inceleyeceğim.
[mention=635864]@Limonata[/mention] Aynen çoklu işlem yönlendirmelerin çok iyi oldu kaynağı okuyorum şimdi çoklu işlemleri sınıf içinde nasıl tanımlayacam o sorunu çözmede. Sağol.
Dosya fonksiyonları genelde blocking yapıdadır, yani işlem sonlanmadan fonksiyondan dönmez. non-blocking, async tarzı bişeyler bakmalısın. Olmazsa işlemi başka bir thread'e taşırsın.
Kullandığımız dosya yöneticileri dosya işlemleri yaparken bu gibi şeylerle uğraşmaz ama onu söyleyeyim. ls, cp, mv gibi terminal komutlarını kullanırlar.
bir ufak hatirlatma fat olan diske(bellege) 4gb tan daha fazla dosya yukleme de yapilamiyor.