[AIDE] python
-
Auteur du sujetCalimero
- Grand Habitué
- Messages : 949
- Enregistré le : il y a 12 ans
- Localisation : Chti 59
[AIDE] python
Bonjour,
Je crée des supports de cours pour un club informatique. Je fais les mises à jour par fichiers envoyés par mails.
J’ai créé un fichier "exe" en python, pour changer le dossier à mettre à jour, qui fonctionne très bien, mais que sur Windows X64.
Le problème est qu’il y a encore des pc en x86. Est-il possible de créer un "exe" python qui fonctionne pour les deux version de Windows ?
Je crée des supports de cours pour un club informatique. Je fais les mises à jour par fichiers envoyés par mails.
J’ai créé un fichier "exe" en python, pour changer le dossier à mettre à jour, qui fonctionne très bien, mais que sur Windows X64.
Le problème est qu’il y a encore des pc en x86. Est-il possible de créer un "exe" python qui fonctionne pour les deux version de Windows ?
-
- Modérateur
- Messages : 13243
- Enregistré le : il y a 15 ans
@Calimero :
Si tu veux être compatible 32 et 64, il faut créer un exe 32 bits.
Sinon, il faut un exe en 32 et un autre en 64.
Si tu veux être compatible 32 et 64, il faut créer un exe 32 bits.
Sinon, il faut un exe en 32 et un autre en 64.
-> Décryptage des liens du forum : extension "ThiWeb Crypt / Decrypt"™ ou Thiweb Live <-
-
Auteur du sujetCalimero
- Grand Habitué
- Messages : 949
- Enregistré le : il y a 12 ans
- Localisation : Chti 59
Bonjour,
@LaDidi21 : merci.
Il faut que je trouve un pc avec un Windows 32 bits.
@LaDidi21 : merci.
Il faut que je trouve un pc avec un Windows 32 bits.
-
Auteur du sujetCalimero
- Grand Habitué
- Messages : 949
- Enregistré le : il y a 12 ans
- Localisation : Chti 59
Si tu précises un peu ta demande on peut essayer d'aider, personnellement rien compris.
Quel genre de script ?
Quel genre de script ?
-
Auteur du sujetCalimero
- Grand Habitué
- Messages : 949
- Enregistré le : il y a 12 ans
- Localisation : Chti 59
Bonsoir Mimisik
J’ai créé un script python, et je souhaiterais qu’il s’autodétruise en fin d’exécution. Le problème, c’est que cela ne fonctionne pas car le script est ouvert. Y a t-il une solution ? Cela me donne une erreur winerror 5 (Accês refusé).
J’ai créé un script python, et je souhaiterais qu’il s’autodétruise en fin d’exécution. Le problème, c’est que cela ne fonctionne pas car le script est ouvert. Y a t-il une solution ? Cela me donne une erreur winerror 5 (Accês refusé).
Code : Tout sélectionner
from os import remove
print("Test")
remove(__file__)
-
Auteur du sujetCalimero
- Grand Habitué
- Messages : 949
- Enregistré le : il y a 12 ans
- Localisation : Chti 59
@Mimisiku
Mon script se nome : Mise_a_jour.py compilé avec pyinstaller en : Mise_a_jour.exe.
je creé un fichier RAR autoextractible dans lequel il y a un dossier TempMiseAjour contenant un sous dossier "Yeux_rouges" (fichier de mise à jour) et le script python "Mise_a_jour.exe".
Le RAR extrait TempMiseAjour dans un dossier "Gimp" et lance le script python.
Voici le script :
*************************************************************************
tout fonctionne jusqu'à #Suppression du dossier TempMiseAjour
après j'ai une erreur : WinError 5
© Unhandled exception in script
Failed to execute script "Mise a jour' due to unhandled
exception: [WinError 51 Accês refuse:
'C:Boldoduc\\Formation\\Gimp\\TempMiseAjour\\Mise_ajour
Traceback (most recent call last)
File "Mise a jour.py", line 65, in <module»
File "shutil.py", line 759, in rmtree
File "shutil.py", line 622, in _rmtree_unsafe
File "shutil.py", line 620, in _rmtree_unsafe
PermissionError: [WinError 5] Accês refuse: 'C:MBoldoduc \Formatir
**********************************************************************************
Je débute en python et ce sript est la conversion d'un batch qui fonctionne très bien (en tant qu'exercice.)
J’espère avoir donné suffisamment d'informations, sinon je suis à disposition .
Mon script se nome : Mise_a_jour.py compilé avec pyinstaller en : Mise_a_jour.exe.
je creé un fichier RAR autoextractible dans lequel il y a un dossier TempMiseAjour contenant un sous dossier "Yeux_rouges" (fichier de mise à jour) et le script python "Mise_a_jour.exe".
Le RAR extrait TempMiseAjour dans un dossier "Gimp" et lance le script python.
Voici le script :
Code : Tout sélectionner
#Effacer le RAR.exe dans Téléchargements
#Inporting os & shutil modules
import os
import shutil
#file name
file="TempMiseAjour.exe"
#Recuperation du chemin userprofile
path=os.path.join(os.environ['USERPROFILE'])
#print (path)
#Selection du chemin userprofile
os.chdir (path)
#Selection du dossier Téléchargement
os.chdir('Downloads')
#Recuperer le chemin du dossier travail en cours
#cwd=os.getcwd ()
#print (cwd)
#Effacement du fichier TempMiseAjour.exe (le RAR.exe)
os.remove (file)
#Effacer le dossier (nom du cours) par ex Yeux_rouges
#Nom du dossier
##dossier="Yeux_rouges"
#Test si dossier existe
if os.path.isdir('C:\\Boldoduc\\Formation\\Gimp\\Les cours\\Yeux rouges'):
dossier="Yeux rouges"
else:
dossier="Yeux_rouges"
##print("dossier =", dossier)
#Dossier parent
parent="C:\\Boldoduc\\Formation\\Gimp\\Les cours"
#Selection du dossier Yeux_rouges
path=os.path.join(parent, dossier)
##print(path)
#Suppression du dossier
#"Yeux_rouge"
#os.rmdir(path)
shutil.rmtree(path)
#Copie du nouveau dossier
#Dossier source
src='C:\\Boldoduc\\Formation\\Gimp\\TempMiseAjour\\Yeux_rouges'
#Dossier destination
dest='C:\\Boldoduc\\Formation\\Gimp\\Les cours\\Yeux_rouges'
##print("src =", src)
##print("dest =" ,dest)
#copie du dossier
shutil.copytree(src, dest)
#Suppression du dossier TempMiseAjour
#Nom du dossier a effacer
dossier="TempMiseAjour"
#Nom du dossier parent
parent="C:\\Boldoduc\\Formation\\Gimp"
#Path complet
path=os.path.join(parent, dossier)
#Suppression du dossier TempMiseAjour
##os.rmdir(path)
shutil.rmtree(path)
tout fonctionne jusqu'à #Suppression du dossier TempMiseAjour
après j'ai une erreur : WinError 5
© Unhandled exception in script
Failed to execute script "Mise a jour' due to unhandled
exception: [WinError 51 Accês refuse:
'C:Boldoduc\\Formation\\Gimp\\TempMiseAjour\\Mise_ajour
Traceback (most recent call last)
File "Mise a jour.py", line 65, in <module»
File "shutil.py", line 759, in rmtree
File "shutil.py", line 622, in _rmtree_unsafe
File "shutil.py", line 620, in _rmtree_unsafe
PermissionError: [WinError 5] Accês refuse: 'C:MBoldoduc \Formatir
**********************************************************************************
Je débute en python et ce sript est la conversion d'un batch qui fonctionne très bien (en tant qu'exercice.)
J’espère avoir donné suffisamment d'informations, sinon je suis à disposition .
-
- Modérateur
- Messages : 13243
- Enregistré le : il y a 15 ans
@Calimero :
Tu n'as pas un problème sur la suppression du programme mais sur la suppression du répertoire le contenant !
Tu veux scier la branche sur laquelle tu es assis
"Je suis ton père"...
Ce n'est pas un problème de langage mais de conception :
Tu n'as pas un problème sur la suppression du programme mais sur la suppression du répertoire le contenant !
Tu veux scier la branche sur laquelle tu es assis
"Je suis ton père"...
Ce n'est pas un problème de langage mais de conception :
- extraire le nécessaire dans un répertoire TEMPoraire
- déclencher la mise à jour à partir de ce dernier
- attendre la fin
- éventuellement, récupérer et traiter le code d'erreur
- supprimer le répertoire TEMPoraire
-> Décryptage des liens du forum : extension "ThiWeb Crypt / Decrypt"™ ou Thiweb Live <-
-
Auteur du sujetCalimero
- Grand Habitué
- Messages : 949
- Enregistré le : il y a 12 ans
- Localisation : Chti 59
Bonsoir,
@LaDidi21 :
je suis d'accord avec toi, pourtant mon fichier batch arrive bien à supprimer le dossier TempMiseAjour.
Le fichier batch :
je n'aie pas encore geré d'erreurs en python, je vais me documenter.
Par contre tu dis de mettre le fichier python dans un dossier temporaire, quelle différence avec TempMiseAjour? c'est pour faire un test?
@LaDidi21 :
je suis d'accord avec toi, pourtant mon fichier batch arrive bien à supprimer le dossier TempMiseAjour.
Le fichier batch :
Code : Tout sélectionner
@echo off
CD "%userprofile%"\Downloads
DEL /f /Q "*Yeux rouges.exe*"
REM pause
set bat=%~dpnx0%
echo %bat%
CD C:\Boldoduc\Formation\Gimp\Les cours\Yeux rouges
REM pause
DEL /f /Q "*.*"
REM pause
MOVE "C:\Boldoduc\Formation\Gimp\TempMiseAjour\Yeux rouges\*.*" "C:\Boldoduc\Formation\Gimp\Les cours\Yeux rouges"
REM pause
RD /S /Q C:\Boldoduc\Formation\Gimp\TempMiseAjour
echo del /f %bat%>%TEMP%dele.bat & %TEMP%dele.bat
Par contre tu dis de mettre le fichier python dans un dossier temporaire, quelle différence avec TempMiseAjour? c'est pour faire un test?
-
- Modérateur
- Messages : 13243
- Enregistré le : il y a 15 ans
@Calimero :
Certes mais c'est un batch et non un programme...Si le CD n'aboutit pas, tu supprimes le contenu du répertoire courant...
Certes mais c'est un batch et non un programme...
Code : Tout sélectionner
CD C:\Boldoduc\Formation\Gimp\Les cours\Yeux rouges
REM pause
DEL /f /Q "*.*"
-> Décryptage des liens du forum : extension "ThiWeb Crypt / Decrypt"™ ou Thiweb Live <-
-
Auteur du sujetCalimero
- Grand Habitué
- Messages : 949
- Enregistré le : il y a 12 ans
- Localisation : Chti 59
@LaDidi21 :
Oui je n'aie pas mis de test si le dossier Yeux rouge existe il faut que j’améliore.
Ah j"ai oublier de dire :
Si je copie le fichier python dans un autre dossier et que je le lance depuis ce dossier, le dossier TempMiseAjour et tout son contenu s"efface, et il n’y a pas erreur.
Oui je n'aie pas mis de test si le dossier Yeux rouge existe il faut que j’améliore.
Ah j"ai oublier de dire :
Si je copie le fichier python dans un autre dossier et que je le lance depuis ce dossier, le dossier TempMiseAjour et tout son contenu s"efface, et il n’y a pas erreur.
Qui est en ligne
Utilisateurs parcourant ce forum : colmich59 et 5 invités