Boucle Python par l'intermédiaire d'un texte de lecture du fichier de données

Je suis nouveau sur python, et bien que je suis sûr que cela pourrait être une question triviale, j'ai passé ma journée à essayer de résoudre ce de différentes manières. J'ai un fichier contenant des données qui ressemble à ceci:

<string>
<integer>
<N1>
<N2>
data
data
...
<string>
<integer>
<N3>
<N4>
data
data
...

Et qui s'étend à un certain nombre de fois... j'ai besoin de lire les "données" qui, pour la première série (entre la première et la deuxième contient un certain nombre N1 de X points, un nombre N2 de Y points et un nombre N1*N2 Z points. Si j'avais un seul ensemble de données, je sais déjà comment lire toutes les données, puis lire la valeur N1, N2, puis le trancher en X, Y et Z, de redéfinir et de l'utiliser... mais si mon fichier contient plusieurs ensembles de données, comment puis-je lu qu'à partir d'une chaîne de caractères jusqu'à la prochaine, et puis répétez la même opération pour la prochaine série, et encore jusqu'à ce que j'arrive à la fin du fichier?
J'ai essayé de définir une fonction comme:

def dat_fun():
    with open("inpfile.txt", "r") as ifile:
        for line in ifile:
            if isinstance('line', str) or (not line):
                break
            for line in ifile:
                yield line

mais ne fonctionne pas, j'obtiens des tableaux avec des pas de données sur eux. Tous les commentaires seront appréciés.
Merci!

Est-ce un fichier xml, si c'est vous pouvez utiliser python intégré dans l'analyse xml module.
Son un fichier de texte brut. @johnthexiii. Je veux tous les jeux, certains fichiers contiennent deux ensembles, un peu plus. À partir de chaque ensemble de données que j'utilise le X, Y et Z pour créer quelques parcelles, que j'ai réussi à faire, si je créer manuellement des fichiers indépendants avec un seul jeu de "<string> \n <integer>\n <N1>\n <N2> les données ...." par fichier. Je veux être capable de lire un jeu jusqu'à la prochaine <string> est atteint (et l'utilisation de ses données), puis parcourez la prochaine série de données jusqu'à la prochaine <string> est atteint, et ainsi de suite jusqu'à la fin du fichier. Merci!

OriginalL'auteur jealopez | 2013-07-02