J'utilise Python pour rechercher un grand fichier texte pour une certaine chaîne, en dessous de la chaîne se trouvent les données sur lesquelles je souhaite effectuer une analyse de données.Recherche d'un fichier texte pour une chaîne en python
def my_function(filename, variable2, variable3, variable4):
array1 = []
with open(filename) as a:
special_string = str('info %d info =*' %variable3)
for line in a:
if special_string == array1:
array1 = [next(a) for i in range(9)]
line = next(a)
break
elif special_string != c:
c = line.strip()
Dans la variable special_string
, tout ce qui vient après info =
peut varier, donc je suis en train de mettre un opérateur générique comme on le voit ci-dessus. La seule façon que je peux obtenir la fonction pour exécuter si est si je mets dans la chaîne exacte que je veux rechercher, y compris tout ce qui suit le signe égal comme suit:
special_string = str('info %d info = more_stuff' %variable3)
Comment puis-je attribuer un opérateur générique à la reste de la chaîne pour rendre ma fonction plus robuste?
Utilisez une regex. '*' ne fonctionne pas dans les opérations de chaîne Python. – dawg