Was ist der Typ der read () - Funktion den Rückgabewert?
Möchte ich zuerst gelesen 188 bytes aus einer binären Datei, und überprüfen Sie, ob das erste Zeichen ist 0x47
. Code unter:
import os
fp=open("try.ts","rb")
for i in range(100):
buf=fp.read(188)
if buf[0]=="\x47":
print "OK"
fp.close()
Aber es gibt:
if buf[0]=="\x47":
IndexError: string index out of range
Meine Fragen sind:
- Was ist der Typ des Rückgabewerts in
read()
Funktion? - Wie kann ich das erste Zeichen in einem string oder array?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das bedeutet, dass Ihre
buf
leer ist. Sie überschrieb es 100-mal in der Schleife. Die Datei wahrscheinlich nicht 18800 bytes in der it. Am Ende einer Dateiread
nur einen leeren string zurück. Du meinst, um Ihreif
innerhalb derfor
? Wenn dem so ist, Gedankenstrich entsprechend.Du meinst die Methode
read
Typfile
. Der Befehlhelp(file.read)
gibt:Genau wie du getan hast,
[0]
.