Posted on : 30-07-2010 | By : tutkudalmaz | In : Yazılım
0
OS modülü ile Python altında dosyalara/dizinlere çok güzel bir şekilde taklalar attırabiliriz. (Ben hala Shutil modülünü kullanmayı tercih ediyorum.) Dizinlerin içinde gezinmek, aklıma esen dosyayı silmek ya da rastgele bir dizini yeniden adlandırmak tamam da, ya sistemde birden fazla sabit sürücü varsa ne olacak? sorusu ile başladım tırmalamaya.
win32api isimli bir modül bu tırmalamam sonucunda elde ettiğim bir başarıdır. Buradan kullandığınız Python sürümüne göre ilgili olan dosyayı indirip kuruyorsunuz. Gerisini ise aşağıdaki örnekte anlatayım:
>>> import win32api
>>> liste=win32api.GetLogicalDriveStrings().split("\x00")[:-1]
>>> for i in liste:
print i
C:\
D:\
>>>
Gördüğünüz gibi, GetLogicalDriveStrings() fonksiyonu ile sürücüleri alıyoruz, size sadece ufak bir desen çalışması yapmak kalıyor.
PyWin32′nin diğer fonksiyonları ve kullanım örnekleri için de burası mükemmel bir kaynaktır.
Posted on : 25-07-2010 | By : tutkudalmaz | In : Genel
0
Bir pazar sabahına gözlerinizi açtığınızda yapacak çok şeyiniz vardır. Hele hele benim gibi evinize hastaysanız da yapacaklar listesi uzayıp gider.
Ben de sabah uyandığımda olağan yüz yıkama, lens takma merasimi ardından Radyo Mydonose eşliğinde bir süre kitap okuyup vaktin geçmesini bekledim. Bana göre uygun zaman gelince de giyinip fırına gittim ve yeni çıkan sıcacık boyoz, bunun yanında da gazetemi alıp evime döndüm. Çayı da demledikten sonra sıra balkonda keyifli bir kahvaltı yapmaya geldi.
Bir elimde gazetem, bir elimde çay bardağım, kendimce mükellef bir kahvaltının ardından bir süre daha balkonda huzur ve sessizliğin tadını çıkardım. İzmir’in simgesi boyozu bu kadar özlediğimin farkında değilmişim meğer.
Artan çayımı da Leyleklerin Uçuşu‘nu okurken değerlendirdim. Yarım saat kadar önce de bu kitabı okunmuşlar listeme başarıyla eklediğimi de belirtmem gerek.
Güzel bir İzmir sabahına ancak bu kadar güzel başlanabilirdi, umarım kalan saatlerde de bu mutluluk ve huzur bozulmaz.
Posted on : 17-07-2010 | By : tutkudalmaz | In : Yazılım
0
Linux altında Vim‘in bana tanıdığı inanılmaz gücü arkama alıp birçok güzel uygulamaya imza attım. Yeri geldi xx.po dosyasını alıp yerelleştirme çalışması yaptım, yeri geldi Python ile uygulamalar geliştirdim.
Windows altında ise böylesine güçlü bir IDE’ye sahip değildim.Buradaki bilgileri izleyerek birşeyler yaptım ama Linux atlındaki tadı alamadım.Sonra da başladım Google’da eşelenmeye, ve sonucunda Notepad++‘a denk geldim.(Yazılımın ismi bana nedense Revolution OS filmindeki bison++ konuşmasını hatırlattı.
)
Bu IDE sayesinde hem kaynak kodları ile oynayabiliyorum hem de notdefteri ihtiyacımı karşılayabiliyorum, C++ ile ortaya konulan güzel bir çalışma olmuş.
Neyse hemen bir helloworld.py programcığı yazdım ve çalıştırmada başarısızlık yaşadım,çünkü Python’ı çalıştıracak şekilde yapılandırma yapmamıştım.
IDE’yi Python dili için kullandığımda aşağıdaki gibi bir görünüm alıyor.Fonksiyonları otomatik ayırması çok güzel doğrusu:

Bunu doğrudan Python altında çalıştırmak için, araç çubuğundaki RUN menüsünü kullanmamız gerekir. Buradan açılan pencereye şunu yazmalıyız:
C:\Python25\python25.exe $(FULL_CURRENT_PATH) :

Sonraki adımda bu eklediğimiz eni girdiye bir isim ve kısayol atamamız gerekiyor.

Artık eklenen yeni kısayolmuzu kullanarak Python ile geliştirilen uygulamaları çalıştırabiliriz:

Başarının göstergesi de şöyledir:

Böylece taş gibi bir IDE’miz oldu ve en önemlisi de bu IDE Python kodlarını harika bir şekilde yorumlayabiliyor. Artık geriye bunu PyQt ile güzel güzel uygulamalar hazırlamak kalıyor.
Posted on : 13-07-2010 | By : tutkudalmaz | In : Genel
0
LastFM‘e erişim engelleme saçmalığından sonra bir süre daha DNS’leri değiştirerek erişime devam edip ve chart’ıma dinlediğim müzikleri ekledim. Ardından iş hayatı, yeni bir bilgisayar vb. gibi çeşitli sebepler yüzünden bilgisayarda hem müzik dinlemeyi bıraktım hem de LastFM’den koptum.
Aradan geçen onca zaman sonunda bugün nette gezinirken bir arkadaşın günlüğünde LibreFM‘yi gördüm. Genel yapı itibarı ile LastFM’ye çok benziyor, ama tabi onun kadar kullanıcıyı cezbeden arayüze sahip değil. Kendime hemen bir kullanıcı oluşturup dinlediğim müzikleri gözler önüne sermeye başladım.
Dileyen okurlar LibreFM profilime buradan erişebilir.
Winamp aracılığı ile dinlediğiniz parçaları kaydedebilmeniz için gerekli olan audioscrobbler.wa yazılımını buradan indirebilirsiniz. Gerekli eklentiyi kurduktan sonra eklenti ayarlarına gelerek kullanıcı adı ve parolanızı giriniz, ardından alt kısımdaki “Use Proxy Server” özelliğini aktif hale getirip “Host” kısmına şunu yazınız:
89.16.177.55 post.audioscrobbler.com
Bunu da yaptıktan sonra Winamp’ta dinlediğiniz parçalar otomatik olarak LibreFM üzerinde kayıt altında alınmaya başlayacaktır.
Ayrıca LastFm üzerinde oluşturduğunuz profilin içeriğini de LibreFM’ye taşımaya yarayan küçük ama etkili bir Python betiği yazılımış durumda, daha denemedim belki sizin ilginizi çekebilir.
LastFm profilimde en sevdiğim sanatçı kısmında Blind Guardian açık ara önde gidiyordu, bu durum LibreFM’de biraz Haggard’tan yana kayacak gibi duruyor, ama bakalım belki de Blind Guardian güzel bir albüm ile dikkatleri tekrar üzerine çekebilir.
Posted on : 09-07-2010 | By : tutkudalmaz | In : Yazılım
2
PyQt ile arayüz geliştirenler bilir, oluşturduğunuz *.ui uzantılı dosyasının içerisinde doğrudan Python kodu yazamıyorsunuz, bunun için öncelikle elimizdeki dosyadan bir Python dosyası oluşturmak gerek. Bu dönüşüm de aşağıdaki sihirli komut ile yapılıyor:
pyuic4 -x /nerede/kaynak/dosya.ui -o nerede/hedef/dosya.py
Her seferinde bu kodu yazmak boşa zaman harcamak gibi gelmeye başladı, ben de işimi kolaylaştırmak için derleyici.py adında küçük ama işe yarar bir betik yazdım. Betik kısaca şöyle:
#!/usr/bin/env python
import subprocess,sys
kaynak=sys.argv[1]+".ui"
hedef=sys.argv[1]+".py"
subprocess.call(["pyuic4","-x",kaynak,"-o",hedef],shell=True)
Kullanımı da şu şekilde:
derleyici.py dosya_adi
Böylece dosya_adi.ui uzantılı arayüz dosyasından aynı dizin altında dosya_adi.py adlı python kod dosyası oluşturulur. Betiğin akla gelen bir dezavantajı kaynak ve hedef dosyalarının isimlerinin aynı olmasıdır, ama bu da betik üzerindeki küçük bir değişiklik ile giderilir.
Bol PyQt’li günler diliyorum.