Quantcast
Channel: Raspberry Pi Forums
Viewing all articles
Browse latest Browse all 4517

Français • Python 3.11.2 bloc quand j'execute mon code

$
0
0
Bonjour,

Je réaliser une application avec pthon 3.8.10 en Tkinter sur Ubuntu 20.04 et tout fonctionne.
Sur mon RPI 5 avec Pi Os x64 et python 3.11.2 mon application bloc le RPI5, lorsque je l'execute, je suis obligé de l'éteindre et de le rallumer manuellement.

Y a t'il un paquet à installer ou faut il configurer python ?
Y a t'il une solution ?
Faut-il installer python 3.8.10 sur le RPI5 ?

Code

Code:

#!/usr/bin/python3# -*- coding:utf-8 -*-# python3 /home/laurent/Langages/python/3.4.3/videos2/video-02.py#-------------------------------------------------------------------------------------------------------#                                      IMPORTATION #-------------------------------------------------------------------------------------------------------import tkinter from tkinter import * import sysimport osimport tkinter as tk#-------------------------------------------------------------------------------------------------------#                                      DICTIONNAIRES#-------------------------------------------------------------------------------------------------------dico_value_1_1 = {"3D" : "1", "Anciennes vidéos avi" : "2", "Courts métrages" : "3", "Dessins animées" : "4", "Documentaires" : "5", "Feuilletons" : "6", "Films" : "7", "Nouveau" : "8", "Réalisateurs" : "9", "Séries" : "10", "Sktechs" : "11", "Theatres" : "12", "Vidéos clips" : "13"} dico_value_1_2 = {"3D" : "3D", "Anciennes vidéos avi" : "Anciennes-videos-avi", "Courts métrages" : "Courts-metrages", "Dessins animées" : "Dessins-animees", "Documentaires" : "Documentaires", "Feuilletons" : "Feuilletons", "Films" : "Films", "Nouveau" : "Nouveau", "Réalisateurs" : "Realisateurs", "Séries" : "Series", "Sktechs" : "Sktechs", "Theatres" : "Theatres", "Vidéos clips" : "Videos-clips"} dico_value_2_1 = {"360" : "1", "720P" : "2", "1080P" : "3", "4K" : "4", "8K" : "5"}dico_value_2_2 = {"360" : "360", "720P" : "720P", "1080P" : "1080P", "4K" : "4K", "8K" : "8K"} dico_value_3_1 = {"avi" : "1", "mp4" : "2", "mpg" : "3", "mkv" : "4", "m4v" : "5"}dico_value_3_2 = {"avi" : "avi", "mp4" : "mp4", "mpg" : "mpg", "mkv" : "mkv", "m4v" : "m4v"}#-------------------------------------------------------------------------------------------------------#                                      DICTIONNAIRES#-------------------------------------------------------------------------------------------------------liste_extensions_videos = []#-------------------------------------------------------------------------------------------------------#                                      CONSTANTES#-------------------------------------------------------------------------------------------------------NOM_PROGRAMME = "Vidéos"VERSION_PROGRAMME = "1.0.0"CHEMIN_DISQUE_MEDIA="/Disque_2/home2/laurent/Vidéos/"DOSSIER_USER = os.path.expanduser('~')liste_des_fichiers_avec_chemin = []liste_des_fichiers_sans_chemin = []#-------------------------------------------------------------------------------------------------------#                                      FONCTIONS#-------------------------------------------------------------------------------------------------------def creer_fenetre_principale():    fp = Tk()    fp.title(NOM_PROGRAMME)    fp.geometry("680x9800-600+100") #"340x490-300+50"    return fp    def creer_frames(fp):    global Frame0, Frame1, Frame2, Frame3, Frame4, Frame5, Frame6, Frame7, Frame8    Frame0 = Frame(fp,borderwidth=2,relief=GROOVE, width=300, height=650) #FLAT    Frame0.grid(row=0, column=0)        Frame1 = Frame(Frame0,borderwidth=2,relief=GROOVE)#.grid(row=0) #RAISED #300x650    Frame1.grid(row=1, column=0)        Frame2 = Frame(Frame0,borderwidth=0,relief=GROOVE)#.grid(row=0)    Frame2.grid(row=2, column=0)        Frame3 = Frame(Frame0,borderwidth=0,relief=FLAT)#.grid(row=0)    Frame3.grid(row=3, column=0)        Frame4 = Frame(Frame0,borderwidth=0,relief=GROOVE)#.grid(row=0)    Frame4.grid(row=4, column=0)        Frame5 = Frame(Frame0,borderwidth=0,relief=FLAT)#.grid(row=0)    Frame5.grid(row=5, column=0)           Frame6 = Frame(Frame0,borderwidth=0,relief=GROOVE)#.grid(row=0)    Frame6.grid(row=6, column=0)        Frame7 = Frame(Frame0,borderwidth=0,relief=GROOVE)#.grid(row=0)    Frame7.grid(row=7, column=0)        Frame8 = Frame(Frame0,borderwidth=0,relief=GROOVE)#.grid(row=0)    Frame8.grid(row=8, column=0)        def fenetre_lister_video():    Label(Frame1, text="     Veuillez cliquer sur un choix     \n", fg='black', justify=LEFT).grid(row=1, column=0)    Label(Frame2, text="     Dossier     \n", fg='black', justify=LEFT).grid(row=1, column=0)       var = IntVar()    for (text, value) in dico_value_1_1.items():         print ("text  : ",text)        print ("value : ",value)        Radiobutton(Frame2, text = text, variable = var, value = value).grid(row=value, column=0)         Label(Frame8, text="", fg='black', justify=LEFT).grid(row=1, column=0)    Button(Frame6, text="valider", command=lambda v=var :valider_fenetre_lister_video(v)).grid(row=2, column=0)    Button(Frame8, text="Quitter", borderwidth=1, command=fp.quit).grid(row=3, column=0)    Label(Frame8, text="", fg='black', justify=LEFT).grid(row=4, column=0)         def valider_fenetre_lister_video(var):        print ("var.get() : ",var.get())    print ("var       : ",var)    print ()    choice  = var.get()    print ("choice : ",choice)    liste = []    for cle in dico_value_1_1.keys():        print("cle : ",cle)        liste.append(cle)            choice = choice - 1     print ("liste ; ",liste)    valeur = liste[choice]    print ("valeur : ",valeur)    print("dico_value_1_2[valeur] : ",dico_value_1_2[valeur])        DOSSIER = dico_value_1_2[valeur]       DOSSIER_VIDEOS = CHEMIN_DISQUE_MEDIA+DOSSIER+"/"    print ("DOSSIER_VIDEOS : ",DOSSIER_VIDEOS)    lister_fichiers(DOSSIER_VIDEOS)    trier_les_videos_par_extentions()    def lister_fichiers(path):    global liste_des_fichiers_avec_chemin, liste_des_fichiers_sans_chemin    import glob     import os.path     liste_des_fichiers_avec_chemin = []     liste_des_fichiers_sans_chemin = []    for root, dirs, files in os.walk(path):         for i in files:             liste_des_fichiers_avec_chemin.append(os.path.join(root, i))             liste_des_fichiers_sans_chemin.append(os.path.join(i))    def fenetre_lister_video_par_qualite():    Label(Frame4, text="     \n     Qualité     \n", fg='black', justify=LEFT).grid(row=1, column=0)        varx = IntVar()    for (text, value) in dico_value_2_1.items():         Radiobutton(Frame5, text = text, variable = varx, value = value).grid(row=value, column=0, sticky=W)         Label(Frame8, text="", fg='black', justify=LEFT).grid(row=1, column=0)    Button(Frame8, text="valider", command=lambda v=varx :valider_fenetre_lister_video(v)).grid(row=2, column=0)    Button(Frame8, text="Quitter", borderwidth=1, command=fp.quit).grid(row=3, column=0)    Label(Frame8, text="", fg='black', justify=LEFT).grid(row=4, column=0)     def lister_fichiers_par_qualite_video(path):    global liste_des_fichiers_avec_chemin, liste_des_fichiers_sans_chemin    import glob     import os.path     liste_des_fichiers_avec_chemin = []     liste_des_fichiers_sans_chemin = []    for root, dirs, files in os.walk(path):         for i in files:             liste_des_fichiers_avec_chemin.append(os.path.join(root, i))             liste_des_fichiers_sans_chemin.append(os.path.join(i))    def fenetre_extentions_fichiers():    Checkbutton1 = IntVar()       Checkbutton2 = IntVar()       Checkbutton3 = IntVar()     Checkbutton4 = IntVar()     Checkbutton5 = IntVar()         Label(Frame6, text="     \n     Extention de fichier     \n", fg='black', justify=LEFT).grid(row=1, column=0)        item1 = Checkbutton(Frame7, text = "avi",  variable = Checkbutton1, onvalue = 1, offvalue = 0, height = 2, width = 10, command=lambda x=Checkbutton1 : selectItems1(x, item1))         item2 = Checkbutton(Frame7, text = "mp4", variable = Checkbutton2, onvalue = 1, offvalue = 0, height = 2, width = 10, command=lambda x=Checkbutton2 : selectItems2(x, item2))         item3 = Checkbutton(Frame7, text = "mpg", variable = Checkbutton3, onvalue = 1, offvalue = 0, height = 2, width = 10, command=lambda x=Checkbutton3 : selectItems3(x, item3))         item4 = Checkbutton(Frame7, text = "mkv", variable = Checkbutton4, onvalue = 1, offvalue = 0, height = 2, width = 10, command=lambda x=Checkbutton4 : selectItems4(x, item4))         item5 = Checkbutton(Frame7, text = "m4v", variable = Checkbutton5, onvalue = 1, offvalue = 0, height = 2, width = 10, command=lambda x=Checkbutton5 : selectItems5(x, item5))       item1.grid(row=1, column=0)    item2.grid(row=1, column=1)      item3.grid(row=1, column=2)     item4.grid(row=1, column=3)    item5.grid(row=1, column=4)    def selectItems1(Checkbutton1, item1):    global liste_extensions_videos    print(Checkbutton1.get())      if  Checkbutton1.get():          print(item1['text'])        liste_extensions_videos.append(item1['text'])        def selectItems2(Checkbutton2, item2):    global liste_extensions_videos    print(Checkbutton2.get())      if  Checkbutton2.get():         print(item2['text'])        liste_extensions_videos.append(item2['text'])        def selectItems3(Checkbutton3, item3):    global liste_extensions_videos    print(Checkbutton3.get())      if  Checkbutton3.get():         print(item3['text'])        liste_extensions_videos.append(item3['text'])        def selectItems4(Checkbutton4, item4):    global liste_extensions_videos    print(Checkbutton4.get())      if  Checkbutton4.get():          print(item4['text'])        liste_extensions_videos.append(item4['text'])        def selectItems5(Checkbutton5, item5):    global liste_extensions_videos    print(Checkbutton5.get())      if  Checkbutton5.get():         print(item5['text'])        liste_extensions_videos.append(item5['text'])        def trier_les_videos_par_extentions():    for idx, video in liste_des_fichiers_avec_chemin:        print ("idx   : ",idx)        print ("video : ",video)        print () fp = creer_fenetre_principale()   creer_frames(fp)fenetre_lister_video()fenetre_lister_video_par_qualite()fenetre_extentions_fichiers()fp.mainloop()
Merci.

Statistics: Posted by xunil2003 — Mon Feb 05, 2024 7:18 pm — Replies 2 — Views 37



Viewing all articles
Browse latest Browse all 4517

Trending Articles