Execution aprés l'affichage, mais pas d'exécution directe
Bonjour,
Sous Ubuntu 12.10, mon "programme" (en fin de msg) fonctionne dans le terminal, en tapant "python3.3 nomprg".
Ceci après différentes recherches sur Internet m'indiquant la marche à suivre :
- Ajout de "#!/usr/bin/python3.3" en première ligne
- Exécution de "chmod u+x nomprg"
- Modification du fichier "/etc/gnome/defaults.list" : pour le format py : "gedit.desktop" remplacé par "idle-python3.3.desktop"
Problème : lorsque je clique sur l’icône du programme (sur le bureau Unity), une fenêtre s'affiche me proposant 4 options :
[LIST=1]
- Lancer dans un terminal => le terminal s'ouvre et disparait aussitôt
- Afficher => Idle se lance, permettant les modifs ou l'exécution (touche F5)
- Lancer => aucune réaction
- Annule => là, aucun problème :( /LIST]
Je suppose que je dois modifier un fichier système, mais je ne trouve pas.
Merci d'avance pour votre aide
Luc
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
| #!/usr/bin/python3.3
# -*- coding: utf-8 -*-
################################################################################
# Programme Python 3 #
# #
# Nombre et cumul taille des fichiers dans un répertoire défini (par dossier) #
################################################################################
# Pour un répertoire donné, le prg liste les dossiers et sous-dossiers
# en indiquant, pour chacun, le nombre de fichiers contenus et leurs tailles cumulées
#
# Un dernier affichage donne, pour le répertoire indiqué
# - le nombre total de fichiers
# - le cumul des tailles des fichiers
# - le nombre total de dossiers (y compris la racine si des fichiers ne sont pas dans des
# dossiers)
################################
# Importation des modules
import os
import tkinter.filedialog
################################
# Définition locale des fonctions
def choixrepertoire(): # Sélection du répertoire
global rep
print ("demande rep")
rep = tkinter.filedialog.askdirectory(initialdir="/", title='Choisissez un repertoire')
if len(rep) > 0:
print ("vous avez choisi le repertoire : "+(rep))
traitementRepertoire(rep)
return
def traitementRepertoire(path): # Traitement du répertoire
repertoire = "***" # Initialisation des variables
nombrerepertoire = 0
taillerepertoire = 0
nombredossiers = 0
sousRepertoire = "***"
nombre = 0
taille = 0
for root, dirs, files in os.walk(path): # Boucle pour parcourir l'arborescence
if sousRepertoire != root : # Changement de dossier
if sousRepertoire !="***":
nombredossiers = nombredossiers + 1
print (" ***** Pour le dossier "+(sousRepertoire)+" Nombre "+str(nombre)+" taille : "+str(taille))
print (" ")
sousRepertoire = root
nombre = 0
taille = 0
for i in files: # Traitement des fichiers
nombre = nombre + 1
taillefichier = os.path.getsize(os.path.join(root, i))
taille = taille + taillefichier
taillerepertoire = taillerepertoire + taillefichier
nombrerepertoire = nombrerepertoire + 1
nombredossiers = nombredossiers + 1 # Fin, donc édition des derniers éléments
print (" ***** Pour le dossier : "+(sousRepertoire)+" nombre : "+str(nombre)+" taille : "+str(taille))
print (" ")
print ("======= Pour le répertoire "+(path))
print (" Nombre : "+str(nombrerepertoire))
print (" Taille : "+str(taillerepertoire))
print (" Nb dossiers : "+str(nombredossiers))
print (" ")
print ("TERMINE ******")
return
################################
# Corps principal du programme
fen1 = tkinter.Tk()
tex1 = tkinter.Label(fen1, text='Répertoire des sources')
tex1.pack()
rep =''
btnchoixrep = tkinter.Button(fen1, text='Choississez le répertoire SVP', command = choixrepertoire)
btnchoixrep.pack()
btnquitter = tkinter.Button(fen1, text='Quitter', command = fen1.destroy)
btnquitter.pack()
fen1.mainloop() |