[Çözüldü] Python İle Kurulu Programların Listesini Almak

Başlatan uçbirim2002, 01 Mart 2016 - 23:51:39

« önceki - sonraki »

0 Üyeler ve 2 Ziyaretçi konuyu incelemekte.

uçbirim2002

Basit bir paket yönetim sistemi yapıyorum. Kurulu programların listesi için şu kodu kullanıyorum:

def getInstalledPackages(cls):
        os.system("dpkg -l |awk '/^[hi]i/{print $2}' > /tmp/installedPackages.txt")
        packList = open("/tmp/installedPackages.txt")

        packs = packList.read()
        packs = packs.split('\n')
        ret = []

        for i in packs:
            if ":" in i:
                ret.append((i[:i.index(':')].strip(), i[i.index(':') + 1:].strip()))
            else:
                ret.append((i.strip(),))
               
        packList.close()
        os.system("rm /tmp/installedPackages.txt")
       
        return ret


Ancak bu kod bana çok verimsiz geliyor. Bu işlemin daha kolay bir yolu olmalı.

Python ile kurulu programların listesini daha verimli bir yöntemle nasıl alabilirim?
Hello!

sayz


uçbirim2002

python-apt modülünü nasıl kullanabilirim? Verdiğiniz link inceledim ama hangi fonksiyonu kullanmam gerektiğini bulamadım.
Hello!

uçbirim2002

Tamam python-apt modülünü nasıl kullanmam gerektiğini buldum. Ama daha öncede dediğim gibi hazır modüllere çok sıcak bakmıyorum. Bu işi direk python'dan haledemezmiyim?
Hello!

sayz

Alıntı yapılan: uçbirim2002 - 04 Mart 2016 - 23:07:00
Tamam python-apt modülünü nasıl kullanmam gerektiğini buldum. Ama daha öncede dediğim gibi hazır modüllere çok sıcak bakmıyorum. Bu işi direk python'dan haledemezmiyim?

neden sıcak bakmıyorsun peki?

uçbirim2002

Programıma bağımlılık olmasından dolayı. Programımın çalışması için bağımlılığı da yüklemem gerek. Bu sebepden sıcak bakmıyorum modüllere. Diğer bir sebebi hazır kullanmak hoşuma gitmiyor. Kendim yazabilecekken neden hazır kullanıyım? Bu yüzden hazır modülleri çok gerekmedikçe kullanmak istemiyorum.


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 04 Mart 2016 - 23:18:40

Birde programın yarısını bitirdim. Tüm kodu silip python-apt modülü ile tekrar mı yazıyım?
Hello!

sayz

temelde yatan düşünce güzel olsa da çok işlevsel bir davranış değil bu. çok klişe ama tekerleği yeniden icat etmeye gerek yok. ben daha diğer modüllerden yararlanmadan her şeyi kendi başına halleden bir pyhton uygulaması görmedim. yani bu tüm dillerde böyle aslında.

tabii ki bu demek değil ki her şeyi al hazır kullan. ama bazı noktalarda kullanman daha iyi olur. tekerleği tekrar icat etmemen gereken yerler olabilir.

ha illa ki ben nasıl yapıldığını öğrenmek istiyorum dersen de açıp o modülleri okuman gerekecek. ama burada şunu unutma bu tarz modüller sadece python ile değil birden çok dil ile yazılmış oluyor. örneğin c ile python için yazılmış birçok modül bulabilirsin.

uçbirim2002

Sanırım haklısınız. python-apt modülünü kullanmak daha mantıklı.
Yardımınız için teşekkürler :)

Yalnız bir şey merak ettim. Forumda yeni olduğum için. Bazı mesajlarda '*' işareti var. Mesela bir önceki mesajımda

Alıntı Yapmı *yazayım?

bu yıldız neden oraya ekleniyor?
Hello!

sayz

benim imzamdaki hususlara dikkat et. yazım hatası yaptığın için oluyor. yazayım değil de y_a_z_ı_y_ı_m gibi bir şey yazıyorsun muhtemelen ve otomatik düzeltiliyor. örneğin herkes kelimesini z ile yazamazsın forumda: herkez (ben z ile yazdım ve s ile düzeltilip yıldız eklenecek muhtemelen)

uçbirim2002

Hello!