Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 25/05/2012, à 12:20

Bombardiers

Fichiers séparés sous python

Bonjour,

je programme sous python et j'aimerai savoir comment travailler proprement avec plusieurs fichiers svp ?

C'est-à-dire avoir un fichier principal main.py et de ce fichier appeler d'autres fichiers comme constante.py, variables.py, musique.py, etc... Lorsque je fais un from truc.py import * le fichier est bien chargé mais si ce fichier utilise des variables d'autres fichiers il y a soucis.

Je voudrais que mon main.py soit plus leger et plus facile à lire, il y a peut-être d'autre méthodes plus pratique pour alléger son code et le rendre plus facile à lire, car à l'école j'apprend juste à bien indenter (pas le choix sous python de toute façon) et à commenter mais au bout d'un moment le code devient trop long.

Merci d'avance


Let's back !

Hors ligne

#2 Le 25/05/2012, à 14:03

k3c

Re : Fichiers séparés sous python

Bonjour

La syntaxe est

from truc import *

et pas from truc.py

et c'est une syntaxe déconseillée

fais plutôt

from truc import ma_variable

Sinon je ne suis pas certain d'avoir compris, peux-tu afficher un reproducer ?


Archlinux sur Xiaomi Air 13

Hors ligne

#3 Le 25/05/2012, à 14:18

Bousky

Re : Fichiers séparés sous python

La méthode conseillée est :

import truc
…
truc.ma_variable = …

Linux qui plante complètement ? Plus rien ne répond ? On peut toujours le redémarrer proprement :
Alt + SysRq + REISUB (Retourne En Islande Sur Un Bateau !)

Hors ligne

#4 Le 27/05/2012, à 11:10

Bombardiers

Re : Fichiers séparés sous python

En faite, je veux juste séparer mon programme en plusieurs fichiers pour m'y retrouver plus facilement. Mais si j'utilise la methode import (avec la bonne syntaxe ocmme vous me l'avez indiqué) si j'utilise des variables qui se trouvent sur un autre fichier, le code plante car pour lui la variable n'est pas définie.

merci de votre aide


Let's back !

Hors ligne

#5 Le 27/05/2012, à 11:28

Bousky

Re : Fichiers séparés sous python

C'est pas normal… Il t'indique quoi ?


Linux qui plante complètement ? Plus rien ne répond ? On peut toujours le redémarrer proprement :
Alt + SysRq + REISUB (Retourne En Islande Sur Un Bateau !)

Hors ligne

#6 Le 29/05/2012, à 21:23

Bombardiers

Re : Fichiers séparés sous python

J'ai un petit soucis de session actuellement, dés que je retrouve mes fichiers je te fais signe. Merci de ta participation.


Let's back !

Hors ligne

#7 Le 20/05/2015, à 19:55

Inzaguiz

Re : Fichiers séparés sous python

J'aurais besoin de tes réponses ! J'essaye de séparer mon code en plusieurs fichiers.py tous dans le même dossier. Pour la petite histoire je fais un SplinterCell vu de haut sur tkinter (oui j'ai la foi)
j'ai :

def fleche_haut(event):
    import Collisions #C'est mon nom de fichier
   
    if Collision.C == 0 :
        print("check !")

Mais il me dis :

Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Users\meyrignac\Documents\Portable Python 3.2.5.1\App\lib\tkinter\__init__.py", line 1456, in __call__
    return self.func(*args)
  File "H:\ISN\Projet\Yakusa\Yakusa v0.3 (test) fichiers\Yakusa v0.3 (test) Main.py", line 102, in fleche_haut
    if Colision.C == 0 :
NameError: global name 'Collision' is not defined


Il ne reconnais pas mon fichier ? Pourtant c'est son nom.. J'ai juste mit C=0 et je compte faire des calculs en fait...


PS : Oui c'est incomplet , je cherche juste à obtenir une valeur qui dépend de la positon de mon espion... ^^ (le travail du dossier collision..)

Hors ligne

#8 Le 20/05/2015, à 20:03

pingouinux

Re : Fichiers séparés sous python

Bonjour,
Tu déterres une discussion vieille de 3 ans…

Il semble que tu sois sous Windows.

import Collisions #C'est mon nom de fichier

Il faut que tu aies un fichier nommé Collisions.py dans ton répertoire courant.

if Collision.C == 0 :
        print("check !")

if Colision.C == 0 :
NameError: global name 'Collision' is not defined

Collisions est différent de Collision et de Colision

Hors ligne

#9 Le 20/05/2015, à 20:15

Inzaguiz

Re : Fichiers séparés sous python

Je sais que je déterre et je sais que je parle de Windows sur un forum linux :S mais comment dire je dois finir mon projet et je dois avoir des réponses rapides. vous êtes les plus rapide alors...

Bref tout est bon merci ! le 's' qui m'embrouille :c merci ! Si j'ai d'autres problèmes je peux écrire sur ce sujet svp ?

Hors ligne

#10 Le 20/05/2015, à 20:28

pingouinux

Re : Fichiers séparés sous python

Si j'ai d'autres problèmes je peux écrire sur ce sujet svp ?

Si c'est un problème différent, il est préférable d'ouvrir une autre discussion.

Hors ligne