Salut à tous,
Je programme depuis longtemps en C et je débute actuellement en python. Je suis un peu surpris de sécher aussi rapidement... désolé si la question semble basique, mais je n'ai pas trouvé de solution claire à mon problème.
J'ai un fichier binaire dans lequel il y a un "tableau" 2D de nombres (float) d'une taille (nx+1) et (ny+1) dans l'une et l'autre dimension, respectivement. le fichier est écrit par un programme C.
Mes problèmes :
- je n'ai pas compris comment créer un tableau 2D "vide" en python. Je pense savoir créer un tableau 2D genre [[2,3,5],[4,2,1]] mais pour un tableau 1024*1024 élements, je ne vois pas comment le créer.
- J'ai compris que fichier.read() allait me retourner une chaine de caractère à partir de mon fichier binaire. Je suis pas sûr de savoir comment transférer mes données dans un tableau 2D ?
Est-ce que tout ça est possible "simplement" en python de base, où est-ce qu'il faut que j'aille vers quelque chose de pus haut niveau genre "numpy" ?
voici un code C produisant un fichier binaire que j'aimerai relire en python :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 #include <stdio.h> #include <stdlib.h> int main(void) { float *array; int nx, ny; int i, j, ij; FILE *fp; nx = 1024; ny = 512; fp = fopen("array.dat","w"); array = calloc((nx+1)*(ny+1), sizeof(*array)); for (i=0; i<nx+1; i++) { for (j=0; j<ny+1; j++) { ij = i + j*(nx+1); array[ij] = ij; } } fwrite (array,sizeof(*array),(nx+1)*(ny+1),fp); fclose(fp); free(array); return 0; }
Merci beaucoup si qqn peut m'aiguiller vers des exemples/solutions
Partager