Python récupérer la valeur d'un fichier
Fermé
toto5812
Messages postés
57
Date d'inscription
mercredi 5 août 2009
Statut
Membre
Dernière intervention
21 janvier 2015
-
19 oct. 2010 à 20:40
toto5812 - 21 oct. 2010 à 17:00
toto5812 - 21 oct. 2010 à 17:00
A voir également:
- Python récupérer le contenu d'un fichier
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier rar - Guide
- Ouvrir un fichier .bin - Guide
- Recuperer message whatsapp supprimé - Guide
3 réponses
pourrais-tu préciser quelques infos: ton programme doit il tourner pendant un certain temps? un certains nombre de calculs? les mises à jour du fichier "v" est elle régulière?
import time
Voilà un petit exemple vite fait qui te permet de "relancer" tous les XXX secondes l'ouverture du fichier. Après il faudra prévoir si besoin une sortie de la boucle while
import time
a = 0 while True: contenu = open("v", "r").read() contenu = contenu.split(",") a = contenu[0] temp = float(a)/2 str1 = "%.1f" % (temp) text1.insert(INSERT, str1) time.sleep(XXX) # ou XXX est un nombre entier ou reel de secondes
Voilà un petit exemple vite fait qui te permet de "relancer" tous les XXX secondes l'ouverture du fichier. Après il faudra prévoir si besoin une sortie de la boucle while
Bonjour et merci de ta réponse!
En fait, le fichier v est mis à jour régulièrement via un script externe "temp.sh" et j'aimerais que ce script se lance puis afficher la valeur convertie avec le petit programme python. J'aimerais que cette séquence (lancement du script "temp.sh" effectuant la mise à jour de "v" et le traitement par python ci-dessus) s'effectue toutes les 5 secondes par exemple...
Après, le programme ne doit pas tourner un certain temps... Il faut qu'il tourne lorsqu'on le lance jusqu'à ce qu'on décide de l'arrêter. L'idéal serait de rajouter un bouton "quitter" dans la fenêtre. Mais ça j'y réfléchirais après...
Sinon, j'essaie de changer manuellement le fichier "v" et je n'arrive pas à rafraichir la valeur, même avec la solution que tu proposais
time.sleep(5)
En fait, le fichier v est mis à jour régulièrement via un script externe "temp.sh" et j'aimerais que ce script se lance puis afficher la valeur convertie avec le petit programme python. J'aimerais que cette séquence (lancement du script "temp.sh" effectuant la mise à jour de "v" et le traitement par python ci-dessus) s'effectue toutes les 5 secondes par exemple...
Après, le programme ne doit pas tourner un certain temps... Il faut qu'il tourne lorsqu'on le lance jusqu'à ce qu'on décide de l'arrêter. L'idéal serait de rajouter un bouton "quitter" dans la fenêtre. Mais ça j'y réfléchirais après...
Sinon, j'essaie de changer manuellement le fichier "v" et je n'arrive pas à rafraichir la valeur, même avec la solution que tu proposais
time.sleep(5)
le script externe il est à toi? car si oui tu pourrais appeler ta fonction python juste après la mise à jour
Chez moi ça fonctionne quand je change la valeur dans le fichier 'test.txt' alors que 'test.py' tourne
et voilà la sortie console:
Essaie d'en dire plus sur le fait que mon code ne fonctionnait pas chez toi.
Pour terminer assure toi que ta fonction .insert() est correctement utilisée: dans ton cas, text1 doit être une liste, et 0 < INSERT < len(text1)
Chez moi ça fonctionne quand je change la valeur dans le fichier 'test.txt' alors que 'test.py' tourne
#! /usr/bin/python # -*- coding: UTF-8 -*- import time str1 = '' X=0 while X<12: contenu = open("test.txt", "r").read() contenu = contenu.split(",") a = contenu[0] temp = float(a)/2 str1 = "%.1f" % (temp) print str1 time.sleep(5) X+=1
et voilà la sortie console:
[ ~/Desktop ] python test.py 6.0 6.0 6.0 10.0 10.0 10.0 20.0 20.0 20.0 16.5 16.5 16.5
Essaie d'en dire plus sur le fait que mon code ne fonctionnait pas chez toi.
Pour terminer assure toi que ta fonction .insert() est correctement utilisée: dans ton cas, text1 doit être une liste, et 0 < INSERT < len(text1)