Sınırlı hafızaya rastgele müzik seçimi

Benim şirin bir mp3çalarım var fakat 1GB hafızaya sahip. Sık sık dinlediğim albümler var ama bazen değişik şeyler dinleyeyim istiyorum. Radyosu olmadığı için, müzik arşivimde dolaşıp şarkılar seçiyorum ve mp3çalara atıyorum. Bu işlemi elle yapmaktan sıkıldım, tüm şarkıları atacak yeterli hafıza da yok. Ben de Python ile bir klasörden rastgele mp3 dosyaları seçip başka klasöre atayım istedim ve alttaki kısa kod ile bu işi kısmen hallettim.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os, random, time, shutil
 
if __name__ == "__main__":
 
    kaynakKlasor = u'/home/ismail/Music'
    hedefKlasor = u'/media/MUZIKCALAR/Music/' + time.ctime()[4:10] + '/'
    enCokDosyaSayisi = 160
 
    kaynakKlasor = kaynakKlasor.encode('utf-8')
    tumDosyalar = []
    #altDosyalar = []
 
    for root, dirs, files in os.walk(kaynakKlasor):
        for f in files:
            if f.endswith('.mp3'):
                tumDosyalar.append(os.path.join(root, f))
                #if root != kaynakKlasor: # Alt klasordeyim
                #    altDosyalar.append(os.path.join(root, f))
 
    random.seed()
    random.shuffle(tumDosyalar)
 
    print "Toplam dosya sayisi: " + str(len(tumDosyalar))
 
    if os.path.exists(hedefKlasor):
        shutil.rmtree(hedefKlasor)
        print "Onceki icerik silindi"
 
    os.mkdir(hedefKlasor)
 
    for i in range(enCokDosyaSayisi):
        shutil.copy2(tumDosyalar[i], hedefKlasor + str(i) + " " + os.path.split(tumDosyalar[i])[-1])
        print "(" + str(i+1) + "/" + str(enCokDosyaSayisi) + ") " + os.path.split(tumDosyalar[i])[-1]

Üstteki örnek, kaynaktan hedefe en çok 160 mp3 dosyası gönderebiliyor, hafıza yetmezse duruyor.

Bunu bir süre önce kendim için yazmıştım. Kardeşim de kullanmak istedi. Windows kullanıyor. Python’ı kurduk ve nasıl kullanacağını anlattım. Lisede okuyor ve dil bölümünde. Programlama bilmiyor fakat 5 dakikada kabaca nasıl çalıştığını anladı ve kendi işi için kullanabiliyor.

Bu yazı Programlama kategorisine gönderilmiş ve , ile etiketlenmiş. Kalıcı bağlantıyı yer imlerinize ekleyin.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">