Programme python qui ne fonctionne pas ?!
RésoluCHTIDUC Messages postés 5 Statut Membre -
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
- Programme demarrage windows - Guide
- Citizen code python avis - Accueil - Outils
- Clément a partagé le fichier mme bovary. il a écrit des commentaires dans le document. quel est le 2e commentaire ? - Forum blog
- Mon clavier n'écrit plus - Forum Clavier
- 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