Seite 1 von 1

returnen zur master-application

Verfasst: Freitag 23. Juni 2006, 17:01
von murph
hi!
ich habe einen kleinen "helfer" geschrieben, um alle dateien von ogg in mp3 umzuwandeln. ich habe den im forum liegenden skript genommen und wollte über for-schleifen das nun ausführen:

Code: Alles auswählen

#!/usr/bin/env python
import os, os.path, time
wurzel = "."
global a
a = []
def search(wurzel):
    for root, dirs, files in os.walk(wurzel):
        for name in files:
            a.append(name)
        for name in dirs:
            wurzel = os.path.join(root,name)
            search(wurzel)


def make(a):
    for name in a:
        os.execl("mp3ogg.py","mp3ogg.py",name)

search(wurzel)
print a
time.sleep(3)
make(a)
das erste lied wird problemlos dann umkonvertiert, aber nach der ausführung hat man das problem, dass er nicht zu diesem skript zurückkehrt, er tut so, als ob er fertig wäre und hat quasi nur den ersten punkt der for-schleife durchlaufen!
wie machen?

Verfasst: Freitag 23. Juni 2006, 17:09
von murph
hab die lösung!

Code: Alles auswählen

#!/usr/bin/env python
import os, os.pathe
import ogg2mp3
wurzel = "."
global a
a = []
def search(wurzel):
    for root, dirs, files in os.walk(wurzel):
        for name in files:
            a.append(name)
        for name in dirs:
            wurzel = os.path.join(root,name)
            search(wurzel)


def make(a):
    for name in a:
        #os.execl("mp3ogg.py","mp3ogg.py",name)
        ogg2mp3.convert(name)

search(wurzel)
make(a)

tut seinen dienst, aber ich weiß, global a ist unsauber ebenso wie die funktionen, die nacheinander aufgerufen werden, sich aber gegenseitig aufrufen könnten

Re: returnen zur master-application

Verfasst: Freitag 23. Juni 2006, 17:14
von pyStyler
murph hat geschrieben: ch habe den im forum liegenden skript genommen
Hi ,
da mich das auch einbisschen interesiert - welchen script meinst Du denn??

Verfasst: Freitag 23. Juni 2006, 17:20
von murph
http://www.python-forum.de/topic-5695.html?
ich habe eine sache hinzugefügt:

Code: Alles auswählen

##murphs part:
def convert(_file):
    info = OggInfo(_file)
    os.system(_CONVERT % (info.filename, info.getLameOptions(),
                          replaceExt(info.filename, '.mp3')))
##
wie gpl verlangt auch gekennzeichnet

Verfasst: Freitag 23. Juni 2006, 17:26
von pyStyler
ah ok danke murph :D