Gå til innhold

Isolere filnavn på kjørende script


Anbefalte innlegg

Når jeg skriver script som skal brukes av andre, liker jeg å lage en usage() funksjon som skriver ut enkel bruks-info. F.eks:

 

SCRIPTNAME attempts to retrive info. on publication by its ISBN No.

Usage: SCRIPTNAME <ISBN> [Timeout in seconds]

 

Jeg ønsker at SCRIPTNAME skal være navnet på filen selv om dette endres.

 

Jeg har lett etter en enkel måte å få til dette på, men ender opp med en ganske grøtete greie:

 

def usage():
   _nof_ = __file__.replace('\\', '/').rsplit('/', 1)[-1].rsplit('.', 1)[0].upper()
   msg = """%s attempts to retrive info. on publication by its ISBN No. 
   Usage: %s <ISBN> [Timeout in seconds]
   """ % (_nof_, _nof_)

   sys.exit(msg.expandtabs(0))

 

Funksjonen inngår i et plattform-uavhengig template-system jeg har, derfor erstattet jeg '\\' med '/'. Jeg har varianter av denne, men da må jeg importere fra moduler, f.eks os.sep.

 

Finnes det ikke en litt mer pythonic måte å isolere filnavnet på?

Lenke til kommentar
Videoannonse
Annonse

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...