Tranformer un script en module

Signaler
-
Messages postés
410
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
12 octobre 2020
-
Bonjour,

Je travaille sur un jeu, et je souhaiterais référencer un de mes scripts pour le transformer en module afin de m'en servir dans le programme principal. Quelqu'un peut m'aider ?

Configuration: Windows / Firefox 80.0

10 réponses

Messages postés
333
Date d'inscription
mercredi 22 juin 2011
Statut
Membre
Dernière intervention
26 septembre 2020
69
Quel langages utilises tu ?
Messages postés
333
Date d'inscription
mercredi 22 juin 2011
Statut
Membre
Dernière intervention
26 septembre 2020
69 > Spacewiki
Il suffit de nommer ton fichier monmodule.py et tu pourras l'importer dans un autre fichier avec la fonction import monmodule
>
Messages postés
333
Date d'inscription
mercredi 22 juin 2011
Statut
Membre
Dernière intervention
26 septembre 2020

Bah justement j'ai essayé et il me fait ImportError : il ne voit pas le module
Messages postés
410
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
12 octobre 2020
59
Bonjour spacewiki,

Tu as écrit en début de code :

import mon_module


Et mon_module.py est dans le même répertoire que le code ?
Bah oui, je l'ai mis pareil
Messages postés
410
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
12 octobre 2020
59
Ca doit marcher alors !

Ca ressemble à ça (avec les 2 fichiers dans le même répertoire) ? :

mon_code.py :

import mon_module

x = test()
print(x)


mon_module.py :

def test():
    return(10)


Fais voir ce qu'il y a exactement dans le module à importer ....
Un truc pour définir la résolution d'écran utilisée dans le jeu
Messages postés
410
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
12 octobre 2020
59
1_ Mauvaise réponse: comment voir si il y a un bug dedans, je n'ai pas de boule de cristal !

2_ Déjà, tu me confirmes bien que tu as fait exactement comme dans ma réponse précédente,

oui ou non ?
Messages postés
410
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
12 octobre 2020
59
ok, mais pour la 3eme fois, poste le code de ton module pour voir !
Je vous le passe dès que j'ai un PC sous la main
Voilà le code de mon module :
from tkinter import *
__name__="screenResDef"
reswidth=None
resheight=None
# Définition de la résolution de l'écran
def scnres1():
    reswidth=800
    resheight=600
    tk.destroy()
def scnres2():
    reswidth=1024
    resheight=768
    tk.destroy()
def scnres3():
    reswidth=1152
    resheight=864
    tk.destroy()
def scnres4():
    reswidth=1280
    resheight=720
    tk.destroy()
def scnres5():
    reswidth=1280
    resheight=960
    tk.destroy()
def scnres6():
    reswidth=1280
    resheight=1024
    tk.destroy()
def scnres7():
    reswidth=1360
    resheight=768
    tk.destroy()
def scnres8():
    reswidth=1366
    resheight=768
    tk.destroy()
def scnres9():
    reswidth=1600
    resheight=900
    tk.destroy()
def scnres10():
    reswidth=1920
    resheight=1080
    tk.destroy()
def screenResolution():
    tk=Tk("Résolution de l'écran")
    cvs=Canvas(tk, width=500, height=250)
    tk.resizable(0,0)
    cvs.pack()
    cvs.create_text(250, 50, text="The Legend of Zelda : Oracle of Seasons/Ages", font=("Zelda Oracles", 15))
    cvs.create_text(250, 150, text="Choisissez la resolution de votre ecran", font=("Zelda Oracles", 15))
    btn=Button(tk, text="800x600", command=scnres1)
    btn2=Button(tk, text="1024x768", command=scnres2)
    btn3=Button(tk, text="1152x864", command=scnres3)
    btn4=Button(tk, text="1280x720", command=scnres4)
    btn5=Button(tk, text="1280x960", command=scnres5)
    btn6=Button(tk, text="1280x1024", command=scnres6)
    btn7=Button(tk, text="1360x768", command=scnres7)
    btn8=Button(tk, text="1366x768", command=scnres8)
    btn9=Button(tk, text="1600x900", command=scnres9)
    btn10=Button(tk, text="1920x1080", command=scnres10)
    btn.pack()
    btn2.pack()
    btn3.pack()
    btn4.pack()
    btn5.pack()
    btn6.pack()
    btn7.pack()
    btn8.pack()
    btn9.pack()
    btn10.pack()

Messages postés
410
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
12 octobre 2020
59
Bonjour,

Bizarre, j'ai copié ton code dans un fichier imp.py

ensuite, j'ai créé dans le même répertoire un fichier test.py dans lequel

j'ai écrit: import imp

Et il n'y a pas d'erreur

Il faudrait voir ton programme principal du coup ...

A quoi sert la ligne : __name__="screenResDef" ?
Quant au programme principal je viens de l'écrire, et j'ai fini par décider de mettre tout le code en un fichier parce que sinon j'allais passer des jours à chercher une solution
En fait j'avais essayé d'autres astuces et y'en avait une qui disait de faire comme ça
Messages postés
410
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
12 octobre 2020
59
Ah OK tu n'avais pas tout dit !

Depuis le début, on te dit qu'il faut 2 fichiers .py ! (pas besoin de toute mettre dans 1 seul fichier:)

1 contenant le programme principal

1 contenant le module à importer

Les 2 dans le même répertoire

Tu laissait entendre que c'était bien comme ça ..

Il n'y a pas d'astuce à chercher, il n'y a qu'une façon de faire et c'est celle-là
J'essaie mais ça marche pas
AH ! Bon bah merci, je fonce
Messages postés
410
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
12 octobre 2020
59
si vraiment c'est câblé exactement comme dans ma réponse du 27/09 à 12h30

ca doit marcher

sinon, poste ton programme principal, qu'on puisse tester

(puisqu'on a déjà ton module à importer)