J'ai besoin d'aide pour la programmation python: J'ai besoin d'une commande qui peut rechercher tous les mots entre les balises d'un fichier texte. par exemple dans le fichier texte a <concept> food </concept>
. J'ai besoin de rechercher tous les mots entre <concept>
et </concept>
et les afficher. quelqu'un peut-il vous aider s'il vous plaît .......python recherche à partir de l'étiquette
1
A
Répondre
3
- Chargez le fichier texte dans une chaîne.
- Rechercher la chaîne pour la première occurrence de
<concept>
utilisantpos1 = s.find('<concept>')
- Rechercher
</concept>
en utilisantpos2 = s.find('</concept>', pos1)
Les mots que vous recherchez sont alors s[pos1+len('<concept>'):pos2]
1
Jetez un oeil à des expressions régulières. http://docs.python.org/library/re.html
Si vous voulez avoir par exemple la balise <i>
, essayez
text = "text to search. <i>this</i> is the word and also <i>that</i> end"
import re
re.findall("<i>(.*?)</i>",text)
Voici une brève explication comment findall fonctionne: Il regarde dans la chaîne donnée pour une expression régulière. L'expression régulière est <i>(.*?)</i>
:
<i>
indique que la balise d'ouverture<i>
(.*?)
crée un groupe et correspond autant que possible jusqu'à ce qu'il vienne au premier</i>
, qui conclut la balise
Notez que la solution ci-dessus ne fonctionne pas quelque chose comme
<i> here's a line
break </i>
Puisque vous vouliez simplement extraire mots.
Cependant, il est bien sûr possible de le faire:
re.findall("<i>(.*?)</i>",text,re.DOTALL)
3
Il y a une grande bibliothèque HTML/XML nommé BeautifulSoup traversant. Avec elle:
from BeautifulSoup import BeautifulStoneSoup
soup = BeautifulStoneSoup(open('myfile.xml', 'rt').read())
for t in soup.findAll('concept'):
print t.string
Questions connexes
- 1. Requête de recherche MySQL - Recherche à partir de tags, aussi :(
- 2. Fonction de recherche Python
- 3. Recherche d'un fichier à partir de VB.NET
- 4. Recherche binaire d'un champ de données inaccessible dans ldap à partir de python
- 5. Appel de gnuplot à partir de python
- 6. Appel de Python à partir de JavaScript
- 7. Recherche de Python http lib
- 8. python et recherche?
- 9. Recherche/remplacement itératif à partir d'une liste de tuples en Python
- 10. Renvoi d'un élément aléatoire à partir d'un tableau Python basé sur des critères de recherche
- 11. Recherche Google avec Python
- 12. Recherche de permutations et de combinaisons à l'aide de Python
- 13. Appel d'un programme non python à partir de python?
- 14. Démarrer l'application à partir de python
- 15. Apprendre Python à partir de PHP
- 16. lancer VS2008 construire à partir de python
- 17. Scripting LMMS à partir de Python
- 18. Appelez Python à partir de C++
- 19. Comment utiliser py.test à partir de Python?
- 20. Démarrer Python à partir de Twisted
- 21. Appeler PHP à partir de Python
- 22. Lecture à partir de fichiers en python
- 23. Recherche à partir du site web statique
- 24. Exemples de recherche de chaîne en Python
- 25. Recherche de python lib pour gérer des tâches à distance
- 26. Création de compteurs à partir de résultats de recherche paginés ...?
- 27. Fonction d'algèbre de recherche de Python
- 28. Asp.net recherche de colonne à partir de gridview dynamique
- 29. Recherche de sujets courants à partir d'un flux de données
- 30. Appel de la fonctionnalité de recherche IE à partir d'ASP.net
Cette méthode ne prend pas des commentaires et des étiquettes avec des espaces en compte si l'auteur de la question implique XML – nkrkv
+1 pour la simplicité – jensgram