Programme python qui ne fonctionne pas ?!
RésoluCHTIDUC Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai obtenu un programme python grâce a chat gpt mais il ne fonctionne pas et je ne comprends pas pourquoi j'aurais besoin de votre aide !!!
voici le programme :
import psutil import os def is_BambuStudio_running(): """Vérifie si BambuStudio est en cours d'exécution.""" for process in psutil.process_iter(['pid', 'name']): if 'BambuStudio' in process.info['name']: return True return False def get_data_from_file(filepath): """Lit les données nécessaires depuis un fichier.""" try: with open(filepath, 'r') as file: data = file.read().strip() return float(data) except FileNotFoundError: print(f"Le fichier {filepath} n'a pas été trouvé.") return None except ValueError: print("Les données dans le fichier ne sont pas valides.") return None def calculer_prix(quantite, prix_par_kilo): """Calcule le prix pour une quantité donnée.""" prix_par_gramme = prix_par_kilo / 1000 return quantite * prix_par_gramme def main(): """Fonction principale qui exécute le programme.""" # Remplacez le chemin du fichier par celui où BambuStudio stocke les données filepath = 'C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Bambu Studio\Bambu Studio.lnk' if is_BambuStudio_running(): print("BambuStudio est en cours d'exécution.") # Obtenez la quantité depuis le fichier quantite = get_data_from_file(filepath) if quantite is not None: prix_par_kilo = 20.0 # Prix pour 1000 grammes (20 €) prix = calculer_prix(quantite, prix_par_kilo) print(f"Le coût pour {quantite} grammes est de {prix:.2f} €") else: print("Erreur lors de la lecture des données.") else: print("BambuStudio n'est pas en cours d'exécution.") if __name__ == "__main__": main()
et voici la reponse que python me renvoie
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
File "<stdin>", line 6, in main
File "<stdin>", line 3, in is_BambuStudio_running
NameError: name 'psutil' is not defined
est ce que quelqu'un pourrait m'aider ???
Windows / Opera 109.0.0.0
- Ce programme est écrit en python
- Citizen code python avis - Accueil - Outils
- Question sur mon programme python ✓ - Forum Python
- Ce programme est écrit en python il construit un mot secret ✓ - Forum Python
- Programme demarrage windows - Guide
- Mettre en veille un programme - Guide
5 réponses
Bonjour
pour tes prochains messages merci de poster ton code comme décrit ici https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
En précisant bien Python dans la liste déroulante.
Le message dit que psutil n'est pas défini. Hors il y a un import tout en haut.
Soit
- L'import est incorrect
- tu n'as pas installé psutil
dans les 2 cas, lire la documentation de cette librairie te serait bénéfique
J'ai testé ton code et il me donne comme message que le module psutil n'est pas trouvé.
Après installation, le programme semble fonctionner.
Peux-tu nous donner la version de Python que tu as installée?
P.S. J'ai modifié la ligne 28 qui donne le path. Il était plus simple de précéder la chaîne avec un r plutôt que doubler les \
Je suis sur Windows 10 avec la même version de Python (3.12).
Surprenant qu'on n'aie pas le même message d'erreur.
Tu es certain que ta ligne import psutil était présente lors de ton essai?
edit: je viens de tester en mettant cette ligne en commentaire. J'ai le même message que toi.
Bonjour,
Avant d'entrer dans le code, quel programme as-tu demander à ChatGPT de générer ? En outre, je ne vois pas le rapport entre BambuStudio et ce que fait ton programme. Parce que là en gros, ton programme dit :
1) vérifier que BambuStudio (logiciel d'impression 3D) est lancé
2) si c'est le cas lire le fichier de donnée pour extraire un prix et déduire un prix au kilo
Ensuite, je déconseille très fortement d'utiliser ChatGPT pour coder à sa place. Outre le fait que tu n'apprendras rien, ChatGPT a de bonnes chances de générer un programme idiot (et ça n'a pas loupé :p).
Dans cet exemple, à aucun moment BambuStudio n'est utilisé (alors pourquoi regarder qu'il est lancé ?!). Du coup, à quoi bon contrôler s'il est lancé avec psutil ? Ainsi, ce que ChatGPT t'a généré se réécrit bien plus simplement :
import os def get_data_from_file(filepath): """Lit les données nécessaires depuis un fichier.""" try: with open(filepath, 'r') as file: data = file.read().strip() return float(data) except FileNotFoundError: print(f"Le fichier {filepath} n'a pas été trouvé.") except ValueError: print("Les données dans le fichier ne sont pas valides.") return None def calculer_prix(quantite, prix_par_kilo): """Calcule le prix pour une quantité donnée.""" prix_par_gramme = prix_par_kilo / 1000 return quantite * prix_par_gramme def main(): """Fonction principale qui exécute le programme.""" # Remplacez le chemin du fichier par celui où BambuStudio stocke les données filepath = 'C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Bambu Studio\Bambu Studio.lnk' # Obtenez la quantité depuis le fichier quantite = get_data_from_file(filepath) if quantite is not None: prix_par_kilo = 20.0 # Prix pour 1000 grammes (20 €) prix = calculer_prix(quantite, prix_par_kilo) print(f"Le coût pour {quantite} grammes est de {prix:.2f} €") else: print("Erreur lors de la lecture des données.") if __name__ == "__main__": main()
Par ailleurs, je pense que ton message n'est pas cohérent et que quand tu as exécuté ton code, tu n'avais pas encore écrit import psutil (ou que tu ne l'as pas sauvé depuis). En effet :
- soit psutil est utilisé dans le code, mais pas importé, dans ce cas il est normal d'avoir l'erreur psutil is not defined (que psutil soit installé ou non) ;
- soit psutil est importé dans le code alors qu'il n'est pas installé, dans ce cas python renvoie une ImportError :
- Soit psutil est importé et installé et le code que tu as proposé est "cohérent"
En admettant que tu veuilles vraiment utiliser psutil, assure-toi que ce module python est bien installé est bien installé (voir ici) en tapant dans une console (pas dans python) :
pip install psutil
Enfin, je suis assez sceptique sur le fichier d'entrée utilisé (voir variable filepath) qui semble être un raccourci windows vers le logiciel BambuStudio plutôt qu'un fichier de données à proprement parler...
Bonne chance
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question