Bonjour,
J'utilise python sous windows. J'ai un script qui est censé m'extraire des données d'un fichier txt. Sauf qu'il me met une erreur "list index out of range" pour une ligne de code qui a l'air de le perturbé à fond alors que je vois vraiment pas où est le problème.
Voici le code (fichier txt initial en pièce jointe)
et ça donne :Code:f2 = open("PS00028.txt","r") prosite_lines = f2.readlines() f2.close() # Get pdb id from prosite records prosite_id = [] for line in prosite_lines: fields = line.split() if fields[0] == "3D": for ps_id in fields[:1]: prosite_id.append(ps_id[:4]) # Output the pdb id fd = 'pdbid.txt' fd = open('pdbid.txt' , 'w') for pdbid in prosite_id: fd.write(pdbid) fd.close()
J'ai printé la variable fields pour voir et ça me donne ce qu'il faut MAIS toujours l'erreur qui empêche du coup l'écriture du résultat dans le fichier destinataire:Code:Traceback (most recent call last): File "C:\Python27\pdb_from_prosite.py", line 9, in <module> if fields[0] == "3D": IndexError: list index out of range
Alors là je vois pas, donc si vous pourriez m'éclairer de vos lanternes aiguisées j'en serais ravie!Code:['3D', '1A1F;', '1A1G;', '1A1H;', '1A1I;', '1A1J;', '1A1K;', '1A1L;', '1AAY;', '1ARD;', '1ARE;', '1ARF;', '1BBO;'] ['3D', '1BHI;', '1EJ6;', '1F2I;', '1G2D;', '1G2F;', '1JK1;', '1JK2;', '1JN7;', '1LLM;', '1NCS;', '1NJQ;', '1P47;'] ['3D', '1P7A;', '1PAA;', '1SP1;', '1SP2;', '1SRK;', '1TF3;', '1TF6;', '1U85;', '1U86;', '1UBD;', '1UN6;', '1VA1;'] ['3D', '1VA2;', '1VA3;', '1WIR;', '1WJP;', '1X3C;', '1X5W;', '1X6E;', '1X6F;', '1X6H;', '1XF7;', '1YUI;', '1YUJ;'] ['3D', '1ZAA;', '1ZFD;', '1ZNF;', '1ZNM;', '1ZR9;', '2ADR;', '2COT;', '2CSE;', '2CSH;', '2CT1;', '2CTD;', '2D9H;'] ['3D', '2DLK;', '2DLQ;', '2DMD;', '2DMI;', '2DRP;', '2EBT;', '2EE8;', '2EL4;', '2EL5;', '2EL6;', '2ELO;', '2ELR;'] ['3D', '2ELS;', '2ELU;', '2ELV;', '2ELW;', '2ELX;', '2ELY;', '2ELZ;', '2EM0;', '2EM1;', '2EM2;', '2EM3;', '2EM4;'] ['3D', '2EM5;', '2EM6;', '2EM7;', '2EM8;', '2EM9;', '2EMA;', '2EMB;', '2EMC;', '2EME;', '2EMF;', '2EMG;', '2EMH;'] ['3D', '2EMI;', '2EMJ;', '2EMK;', '2EML;', '2EMM;', '2EMP;', '2EMV;', '2EMW;', '2EMX;', '2EMY;', '2EMZ;', '2EN0;'] ['3D', '2EN1;', '2EN2;', '2EN3;', '2EN4;', '2EN6;', '2EN7;', '2EN8;', '2EN9;', '2ENA;', '2ENC;', '2ENE;', '2ENF;'] ['3D', '2ENH;', '2ENT;', '2EOE;', '2EOF;', '2EOG;', '2EOH;', '2EOI;', '2EOJ;', '2EOK;', '2EOL;', '2EOM;', '2EON;'] ['3D', '2EOO;', '2EOP;', '2EOQ;', '2EOR;', '2EOS;', '2EOU;', '2EOV;', '2EOW;', '2EOX;', '2EOY;', '2EOZ;', '2EP0;'] ['3D', '2EP1;', '2EP2;', '2EP3;', '2EPA;', '2EPP;', '2EPQ;', '2EPR;', '2EPS;', '2EPT;', '2EPU;', '2EPV;', '2EPW;'] ['3D', '2EPX;', '2EPY;', '2EPZ;', '2EQ0;', '2EQ1;', '2EQ2;', '2EQ3;', '2EQ4;', '2EQW;', '2GLI;', '2GQJ;', '2HGH;'] ['3D', '2I13;', '2J7J;', '2JP9;', '2JPA;', '2KMK;', '2KVF;', '2KVG;', '2L1O;', '2LCE;', '2LT7;', '2LV2;', '2LVR;'] ['3D', '2LVT;', '2LVU;', '2M0D;', '2M0E;', '2M0F;', '2PRT;', '2RPC;', '2RSH;', '2RSI;', '2RSJ;', '2WBS;', '2WBT;'] ['3D', '2WBU;', '2YRH;', '2YRJ;', '2YRK;', '2YRM;', '2YSO;', '2YSP;', '2YSV;', '2YT9;', '2YTA;', '2YTB;', '2YTD;'] ['3D', '2YTE;', '2YTF;', '2YTG;', '2YTH;', '2YTI;', '2YTJ;', '2YTK;', '2YTM;', '2YTN;', '2YTO;', '2YTP;', '2YTQ;'] ['3D', '2YTR;', '2YTS;', '2YTT;', '2YU5;', '2YU8;', '3AX1;', '3IUF;', '3MJH;', '3UK3;', '3ZNF;', '4F2J;', '4F6M;'] ['3D', '4F6N;', '4GZN;', '4IJD;', '4IS1;', '4ZNF;', '7ZNF;'] Traceback (most recent call last): File "C:\Python27\pdb_from_prosite.py", line 9, in <module> if fields[0] == "3D": IndexError: list index out of range
-----