2017-08-04 1 views
0

J'ai le code ci-dessus dans le cadre d'un code plus grand pour faire un peu d'analyse et un peu plus. Chaque fois que je cours le code j'obtiens le message d'erreur suivant "index de liste hors de portée". J'ai imprimé le dossier donc je les vois, et je reçois l'impression suivante:index de liste erreur hors limite avec Python 2

"velvet_results2/velvet_results_assembly/my_sample_velvet

". et dans le dossier my_sample_velvet est le fichier xml que j'ai besoin d'analyser. Quelqu'un peut-il m'aider à résoudre ce problème, s'il vous plaît?

matches_counts={} 
velvet_folders = glob.glob(velvet_output +'/*') 
for folder in velvet_folders: 
    print folder 
    xml_file=glob.glob(folder + '/*.xml')[0] 
    matches = parsing_blast(xml_file,opts.length_cutoff) 
+0

poster votre trace de pile complète – AK47

+1

'glob.glob (folder + '/ *. Xml')' est vide, il ne trouve aucun fichier .xml –

+1

Il semble que 'folder' ne contienne pas les fichiers .xml, ils sont dans des sous-répertoires à l'intérieur de cela, donc vous devez 'glob' sur ceux –

Répondre

0
matches_counts={} 
velvet_folders = glob.glob(velvet_output +'/*/') 
for folder in velvet_folders: 
    print folder 
    xml_file=glob.glob(folder + '/*.xml')[0] 
    matches = parsing_blast(xml_file,opts.length_cutoff) 

En ajoutant le second dans la ligne de velvet_folder '/' I a résolu le problème.