Vous vous demandez comment lire un fichier binaire dans Cython et renvoyer une chaîne à Python. J'ai ce qui suit, mais je reçois une erreur sur la ligne fread (buffer ..). Je ne suis pas super familier avec le C/Cython donc s'il est plus facile des fonctions intégrées pour lire les fichiers binaires dans des chaînes qui seraient AppréciéCython lit le fichier binaire dans une chaîne et renvoie
def read_file2(filename):
cdef FILE * cfile
cdef long length
filename_byte_string = filename.encode("UTF-8")
cdef char* fname = filename_byte_string
cdef char * buffer;
cfile = fopen(fname, "rb")
if cfile:
fseek (cfile, 0, SEEK_END)
length = ftell(cfile)
fseek (cfile, 0, SEEK_SET)
buffer = <char*>malloc(length)
if buffer:
fread(&buffer, 1, length, fname)
SOLVED: Je reçois l'erreur suivante:
read_numpy.pyx:64:33: Cannot assign type 'char *' to 'FILE *'
Comment renvoyez-vous l'objet de tampon, ou la chaîne contenant la représentation d'octet du dossier à Python?