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.
reverse
User
Beiträge: 62
Registriert: Mittwoch 29. November 2006, 22:43

wie funktioniert include und wie benutze ich es?

Beitragvon reverse » 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
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Re: wie funktioniert include und wie benutze ich es?

Beitragvon Leonidas » 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

Beitragvon reverse » 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

Beitragvon 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.

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder