wie funktioniert include und wie benutze ich es?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
reverse
User
Beiträge: 62
Registriert: Mittwoch 29. November 2006, 22:43

Mittwoch 31. Januar 2007, 21:34

hallo ihr cracks da....
wie funktioniert include und wie benutze ich es?

beispiel (pymedia)
wie kann ich gebrauch von unterem code machen?

Code: Alles auswählen

#! /bin/env python

def dumpWAV( name ):
	import pymedia.audio.acodec as acodec
	import pymedia.muxer as muxer
	import time, wave, string, os
	name1= str.split( name, '.' )
	name2= string.join( name1[ : len( name1 )- 1 ] )
	# Open demuxer first

	dm= muxer.Demuxer( name1[ -1 ].lower() )
	dec= None
	f= open( name, 'rb' )
	snd= None
	s= " "
	while len( s ):
		s= f.read( 20000 )
		if len( s ):
			frames= dm.parse( s )
			for fr in frames:
				if dec== None:
					# Open decoder

					dec= acodec.Decoder( dm.streams[ 0 ] )
				r= dec.decode( fr[ 1 ] )
				if r and r.data:
					if snd== None:
						snd= wave.open( name2+ '.wav', 'wb' )
						snd.setparams( (r.channels, 2, r.sample_rate, 0, 'NONE','') )
					
					snd.writeframes( r.data )

# ----------------------------------------------------------------------------------

# Save compressed audio file into the WAV file suitable for writing on a regular Audio CD

# http://pymedia.org/

import sys
if len( sys.argv )!= 2:
	print "Usage: dump_wav <filename>"
else:
	dumpWAV( sys.argv[ 1 ] )

mfg
reverse
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Mittwoch 31. Januar 2007, 21:41

reverse hat geschrieben:wie funktioniert include und wie benutze ich es?
Include gibt esin Python nicht, dazu benutzt man ``import``, sihe [wiki]Import[/wiki].
reverse hat geschrieben:beispiel (pymedia)
wie kann ich gebrauch von unterem code machen?
Ausführen?

Oder willst du es etwa importieren? Kein Problem, wie das geht, steht in der verlinkten Wikiseite.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
reverse
User
Beiträge: 62
Registriert: Mittwoch 29. November 2006, 22:43

Donnerstag 1. Februar 2007, 13:53

hello Leonidas
danke fürs feedback!!!

wie kann ich klasse importieren und gebrauch davon machen?

die unterem code ist so was wie klasse...richtig????

Code: Alles auswählen

#! /bin/env python

def dumpWAV( name ):
    import pymedia.audio.acodec as acodec
    import pymedia.muxer as muxer
    import time, wave, string, os
    name1= str.split( name, '.' )
    name2= string.join( name1[ : len( name1 )- 1 ] )
    # Open demuxer first

    dm= muxer.Demuxer( name1[ -1 ].lower() )
    dec= None
    f= open( name, 'rb' )
    snd= None
    s= " "
    while len( s ):
        s= f.read( 20000 )
        if len( s ):
            frames= dm.parse( s )
            for fr in frames:
                if dec== None:
                    # Open decoder

                    dec= acodec.Decoder( dm.streams[ 0 ] )
                r= dec.decode( fr[ 1 ] )
                if r and r.data:
                    if snd== None:
                        snd= wave.open( name2+ '.wav', 'wb' )
                        snd.setparams( (r.channels, 2, r.sample_rate, 0, 'NONE','') )
                   
                    snd.writeframes( r.data )

# ----------------------------------------------------------------------------------

# Save compressed audio file into the WAV file suitable for writing on a regular Audio CD

# http://pymedia.org/

import sys
if len( sys.argv )!= 2:
    print "Usage: dump_wav <filename>"
else:
    dumpWAV( sys.argv[ 1 ] )
also speichere ich es unter covnvertWav.py

anwendung

import covnvertWav
fw= wave.open( 'test.wav', 'wb' )
fw.setparams( (r.channels, 2, r.sample_rate, 0, 'NONE','') )
snd.writeframes( r.data )


richtig?????

mfg
reverse
BlackJack

Donnerstag 1. Februar 2007, 14:42

reverse hat geschrieben:die unterem code ist so was wie klasse...richtig????
Nein das ist eine Funktion. Und zwar eine grauenvoll geschriebene.

Code: Alles auswählen

#! /bin/env python

def dumpWAV( name ):
    import pymedia.audio.acodec as acodec
    import pymedia.muxer as muxer
    import time, wave, string, os
Import-Anweisungen schreiben die meisten Programmierer an den Anfang des Moduls. Dann kann man besser sehen was für Abhängigkeiten bestehen.

Code: Alles auswählen

    name1= str.split( name, '.' )
    name2= string.join( name1[ : len( name1 )- 1 ] )
`split()` und `join()` sind Methoden auf Zeichenketten, die ruft man normalerweise nicht von der Klasse oder dem `string`-Modul aus auf. Ausserdem funktioniert der `join()`-Aufruf so nicht, weil die Funktion zwei Argumente erwartet. Und der Slice liesse sich auch einfacher schreiben.

Code: Alles auswählen

    name1 = name.split('.')
    name2 = '.'.join(name1[:-1])
Das sieht aber eher nach einem Job für `os.path.splitext()` aus.

Der Rest sieht auch sehr wirr aus. Zum Beispiel diese eigenartige Verzögerung von der Erstellung vom `Decoder` und der `wave`-Datei tief in die Schleife(n) hinein ist sehr unübersichtlich. Und die Namen könnten ein wenig länger und aussagekräftiger sein.
speichere ich es unter covnvertWav.py

anwendung

import covnvertWav
fw= wave.open( 'test.wav', 'wb' )
fw.setparams( (r.channels, 2, r.sample_rate, 0, 'NONE','') )
snd.writeframes( r.data )


richtig?????
Anwendung von was? Von der Funktion? Wohl kaum, sie wird ja nirgends aufgerufen.

Arbeite doch bitte erst einmal eine Tutorial durch und lerne die Grundlagen.
Antworten