Donc, j'ai ce fichier texte qui contient les éléments suivants.
<lang:\sForeign> <lang:foreign> </lang:\sForeign> </lang:foreign>
4 Réponses :
Utilisez simplement un argument divisé différent. Cela devrait fonctionner pour vous:
line.split(' <')
Je suggérerais d'utiliser Regex. L'utilisation de la correspondance de modèle suivante vous donnera une liste de modèles de correspondance enfermés dans '' pour chaque ligne.
import re
pattern = re.compile(r'<.*?>')
flist = pattern.findall(line) # sample output of flist = ['<lang:Foreign>', '<lang:foreign>']
if len(flist) == 2:
fdict.update({flist[0]: flist[1]})
Je suggérerais que vous vous séparez sur "> <" puis ajoutez le ">" et "<<" aux premier et deuxième éléments du tableau.
Quelque chose comme ça ...
L'utilisation d'expressions régulières constitue probablement le meilleur sens ici.
import re
pattern = re.compile(r'(<.*?>)\s*(<.*?>)')
flist = [pattern.findall(line) for line in f]
for k, v in flist:
fdict.update({k: v})