Datamaskin
  | Hjem | Hardware | Nettverk | Programmering | Software | Feilsøking | Systems | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringsspråk
  • Delphi Programming
  • Java Programming
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl Programming
  • Python Programming
  • Ruby Programming
  • Visual Basics Programming
  •  
    Datamaskin >> Programmering >> Python Programming >> Content
    Hvordan bygge en parser i Python
    I Python , som i mange andre språk , det er det nødvendig å håndtere brukerens input til et program startes fra kommandolinjen . Python " sys " Biblioteket inneholder et større antall system - spesifikke parametre , inkludert funksjoner som er nødvendige for å håndtere argumenter fra kommandolinjen . Python " getopt " biblioteket gir en nyttig metode for analysering et stort antall kommandolinje argumenter og flagg i ulike formater . Oppsett

    Åpne en teksteditor og begynner å skrive et nytt Python dokument. Formater program som følger. Den " sys " Biblioteket inneholder funksjoner for håndtering argument variabler . Du vil stripe sys.argv [ 0 ] som det er navnet på manuset , i dette tilfellet " my_program.py . " The " __name__ " check sikrer at manuset ble kalt fra kommandolinjen , snarere enn et annet program .

    # my_program.pyimport getopt , sys

    def main ( argv ): # Argument parser vil gå her

    hvis __ name__ == " __main__ " : main ( sys . argv [ 1: ] )
    hjelp getopt

    Ring " getopt.getopt ( ) "-funksjonen fra din "main ( ) "-funksjonen ved hjelp av følgende syntaks. For dette eksempelet , argumenter til " my_program.py " inkluderer et flagg " - v" for verbose utgang, en " - h" eller "- help" flagg for å skrive ut bruken , og en " -i " eller " - inngang " for å angi en input-fil

    def main ( argv ) : . prøve : opts , args = getopt.getopt ( argv , " hi : v" , [" hjelp" , "input "] ); unntatt: unntatt getopt.GetoptError , err : print str (err ) ; # print errorusage (); # Brukerstyrt skrevet funksjonen for å skrive riktig bruk av programsys.exit ( 2 ) ; # set defaultsverbose = False ; input_file = Ingen, for o, en i opts : hvis oi ( " - h" , "- help" ) : bruk (); sys.exit (); elif o == " - v" : ordrik = true; elif oi ( " - i", "- input" ) : ; : " . Ukjent argument " input_file = et annet hevde False , etter

    if ( input_file == None ) : print " . No input file gitt "; bruk (); sys.exit ( 2 ) ;
    hjelp Argparser

    " argparser " biblioteket gir en lignende måte parsing argumenter med mindre kode og mer grundig feilmeldinger

    import argpase , sys

    def main ( ) : . parser = = Parser.parse_args ( ) #-kode for å sjekke gyldigheten av argumentene
    Hensyn

    Hvis du forbereder din Python program for distribusjon , er det viktig å håndtere all mulig bruk scenarier når du sjekker for argumenter. For eksempel bør et filnavn kontrolleres for å avgjøre om det linker til en fil med riktig format . Andre variabler bør kontrolleres for å fastslå at deres verdi har betydning i programmet.

    früher :

     Weiter:
      Relatert Artike
    ·Hvordan Hopp et element når Beising i Python 
    ·Slik fjerner det første tegnet fra en streng i Python 
    ·Slik konverterer String til Unicode i Python 
    ·Slik sletter alle forekomster av en klasse i Python 
    ·Hvordan Send en mobiltelefon en tekstmelding med en Pyt…
    ·Python Funksjon Med parametere 
    ·Liste over Python Tools 
    ·Sette inn Into Python Lister 
    ·Slik fjerner duplikater fra en sekvens i Python 
    ·Hvordan overstyring lik i Python 
      Anbefalte artikler
    ·Hvor å Utsikt SIG filer fra Printshop 
    ·Hvordan beregne G02 Koder for Mills 
    ·Hvordan lage en Vector List 
    ·Hvordan konvertere en streng til INT i klassisk ASP 
    ·Hvordan Roter en Cipher i JavaScript 
    ·Hvordan bruke Visual Basic Veiviser 
    ·Hvordan Kart Strings til en liste med strenger 
    ·Slik konverterer Bits til Bytes i VB.Net 
    ·Java Coding for summen av to tall 
    ·Hvordan flytte en PictureBox i Visual Studio 
    Copyright ©  Datamaskin  http://www.datamaskin.biz/