Bu eğitimde göreceğiz belirli bir adı içeren dosyaları aramakla ilgilenecek kısa bir Python programı nasıl uygulanır, kendisine ilettiğimiz dizinde (bir dizine geçmezsek, geçerli dizinden arama yapacaktır). Yapılması ve anlaşılması çok basit bir kod olduğunu göreceğiz.
NotBu derste vereceğim örneği Python 3.X'te çalıştıracağım.
İlk önce kodun tamamını bırakıyorum ve aşağıda bölüm bölüm açıklanacak:
içe aktarma sys, os arama = "solvetic" dizin = os.getcwd () toplam = 0 if (len (sys.argv)> 1): if (os.path.isdir (sys.argv [1]) değil): yazdır (sys.argv [1], "dizin olarak tanınmadı") sys.exit (1) dizin = sys.argv [1] kök, dizin, os.walk'taki (dizin) dosyalar için: dosyadaki dosya için: if ( file.lower () içinde arama): print (kök + "\" + dosya) toplam + = 1 print ("Toplamda var", toplam, "dosyalar", arama)Şimdi kodun açıklamasına başlayacağız, eğer Python hakkında zaten bir şeyler biliyorsanız, onu zaten büyük ölçüde anlamışsınızdır.
Bu programı gerçekleştirmek için kullanacağız işletim sistemi modülü işletim sistemiyle etkileşime geçmek ve sistem Argümanın girişini ve olası çıkışı ani olmadan kontrol etmek. Bunlar zaten Python'da sahip olduğumuz modüllerdir, bu yüzden başka bir şey yüklememize gerek yok.
içe aktarma sistemi, işletim sistemiDaha sonra, arayacağımız kelime ile arama adında bir değişken tanımlayacağız (bunu bir parametre olarak alabiliriz, ancak bu durumda, örnek için çözücü olacaktır), yolu içerecek başka bir dizin adında bir değişken tanımlayacağız. başlayacağımız yerden (varsayılan olarak programı çalıştırdığımız mevcut dizin). Toplamda gördüğümüz son değişken ise bulduğumuz dosyaların kaydını tutmak.
arama = "çözücü" dizin = os.getcwd () toplam = 0Şimdi herhangi bir parametre alıp almadığımızı kontrol edeceğiz ve eğer öyleyse bize bir dizin verip vermediklerini kontrol edeceğiz, doğruysa dizini "dizin" değişkenine kaydediyoruz, yoksa o değişken aynı kalıyor, yani, geçerli dizinde.
if (len (sys.argv)> 1): if (os.path.isdir (sys.argv [1]) değil): print (sys.argv [1], "dizin olarak tanınmadı") sys.exit ( 1) dizin = sys.argv [1]Bir sonraki adım bir döngüdür, os.walk (dizin) işlevi dosyaların adlarını yinelemeli olarak okuyacaktır, yani kendisine ilettiğimiz dizinden dosya ve dizinlerin üzerinden geçecektir. O zaman bu örnekte bizi ilgilendiren tek şey, solvent kelimesini içeren dosyaları göstermektir, bu yüzden dosyaları gözden geçireceğiz ve aranan kelimeye sahip olup olmadıklarını kontrol edeceğiz, ayrıca bazı büyük harfli kelimeyi içeren dosyaları da bulacağız. alt işlevi kullanıyoruz, tek yaptığı tüm dizeyi küçük harfle bırakmak. Dosyanın tam yolunu görmekle ilgilendiğimiz için, kök değişkeni dosya ile birleştiririz, çünkü root okuduğumuz dizini döndürür.
root, dir, os.walk'taki (dizin) dosyalar için: dosyalardaki dosyalar için: if (file.lower () içinde arayın): print (root + "\" + file) toplam + = 1Programı sonlandırmadan hemen önce, solvent adı ile bulunan dosya sayısı ile ekrana bir çizgi çizecektir.
print ("Toplamda var", toplam, "ile dosyalar", arama)Şimdi programın yürütülmesinin bazı ekran görüntülerini koyacağım, ardından parametresiz yürütme, yani aramayı geçerli dizinden yapacak:
Windows'ta C diskinden arama yapmak için aşağıdakiler:
Ve son olarak, bir dizin olmayan bir şey parametre olarak iletildiğinde bir yakalama:
Ve öğretici sona erdi, modülü daha fazla araştırmakla ilgileniyorsanız, işte resmi belgelere bir bağlantı, İngilizce.
Bu Eğitimi beğendiniz ve yardım ettiniz mi?Yazara olumlu puan vermek için bu düğmeye basarak yazarı ödüllendirebilirsiniz.