Je fais un cours de Python sur Py4e, presque terminé, mais le chapitre 11 semble impossible parce que cela me donne une erreur à chaque fois.
Erreur: strong> P> import re
ffail = open('regex_sum_340933.txt')
lines = ffail.read()
count = 0
match = re.findall('[0-9]+', lines)
for II in match:
number = int(II)
count = count + number
print(count)
3 Réponses :
Vous ne le faites pas correctement. Tout d'abord, vous devez fermer le fichier que je suggérerais
pour simplement utiliser Remplacez ce que vous lisez Le fichier avec ce p> Assurez-vous que Si vous rencontrez toujours des difficultés, vous pouvez visiter cette Question P> P> avec code> afin que vous n'ayez pas besoin de vous inquiéter de la fermeture du fichier. P> regex_sum_340933.txt code> est dans le même répertoire que le fichier du code. p>
Pourriez-vous accepter la question / expliquer pourquoi cela ne fonctionne pas et où est le problème?
Le code est-il censé ressembler à ceci? Importation refail = "" avec ouvert ("regex_sum_340933.txt", "r", "utf-8") comme quelque_fail: ffail = one_file.read () compte = 0 match = re.findall ('[0-9] + ', FFAIL) pour II en match: Numéro = int (ii) Compte = comptage + numéro d'impression (compte) donne cette erreur: ligne 4, dans
@Romeesna Essayez de mettre à jour votre code avec le problème que je ne comprends pas
avec ouvert ("regex_sum_340933.txt", "r", "utf-8") comme quelque_file: TypeError: un entier est requis (type STR) Cela me donne cette erreur, toutes les suggestions?
@Romeesna Voir la réponse mise à jour Essayez avec et sans la mise en mémoire tampon code> et montrez-moi l'erreur s'il y en a un
Essayez ceci:
import re
lines = open('regex_sum_340933.txt', encoding='utf-8', errors='ignore').read()
count = sum(map(int, re.findall('[0-9]+', lines)))
Merci d'avoir aidé, le code n'était pas faux, juste mon Mac ne voulait pas le faire fonctionner. Essayé avec Windows et la réponse est venue immédiatement. P>
Pouvez-vous publier les données dans le fichier txt
py4e-data.dr-chuck.net/regex_sum_340933.txt