Gå til innhold

Anbefalte innlegg

Hei. Jeg ønsker å finne ut hvorvidt fila afile er ei iso-fil, hvordan kan jeg gjøre dette?

Å sjekke om filnavnet inneholder .iso er jo ikke vanskelig, men jeg ønsker altså å sjekke at innholdet i fila er det som filnavnet hevder

Lenke til kommentar
Videoannonse
Annonse
Hei. Jeg ønsker å finne ut hvorvidt fila afile er ei iso-fil, hvordan kan jeg gjøre dette?

Å sjekke om filnavnet inneholder .iso er jo ikke vanskelig, men jeg ønsker altså å sjekke at innholdet i fila er det som filnavnet hevder

5864193[/snapback]

 

 

Generelt for MIME, er mimetypes-modulen i standardlib. Men den er basert på filendelser.

 

Dersom det kun er ISO du et ute etter, kan du åpne fila og sjekke signaturen.

 

Det er 43 44 30 30 31 på byte 8001, 8801, eller 9001. Skulle gåp greit via open() og seek()

 

Sjekk ellers her http://www.garykessler.net/library/file_sigs.html

Lenke til kommentar
Hei. Jeg ønsker å finne ut hvorvidt fila afile er ei iso-fil, hvordan kan jeg gjøre dette?

Å sjekke om filnavnet inneholder .iso er jo ikke vanskelig, men jeg ønsker altså å sjekke at innholdet i fila er det som filnavnet hevder

5864193[/snapback]

 

 

Generelt for MIME, er mimetypes-modulen i standardlib. Men den er basert på filendelser.

 

Dersom det kun er ISO du et ute etter, kan du åpne fila og sjekke signaturen.

 

Det er 43 44 30 30 31 på byte 8001, 8801, eller 9001. Skulle gåp greit via open() og seek()

 

Sjekk ellers her http://www.garykessler.net/library/file_sigs.html

5864569[/snapback]

 

Klarte iikke å dy meg ;-)

 

def is_isofile(iso_file):
   """ return True if iso_signature in file at offsets, else False """
   
   iso_signature = 'CD001' # ASCII 43 44 30 30 31
   positions = [int(offset) for offset in (0x8001, 0x8801, 0x9001)] #hex  offsets to ints
   samples = []
   
   f = open(iso_file, 'r')
   
   # extract 5 bytes from offsets
   for position in positions:
       f.seek(position)
       samples.append(f.read(len(iso_signature)))
           
   f.close()
   
   if iso_signature in samples:
       return True
   return False
   

Lenke til kommentar

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