Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3290 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  Python et import/include dans un script

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Python et import/include dans un script

n°2518907
SuperSic
Posté le 27-02-2026 à 15:05:12  profilanswer
 

:hello:
 
Je travaille sur un script python qui devient un peu long et j'ai besoin de modularité pour garder un code lisible.
Je ne peux pas fournir le code complet (boulot).
 
En résumé, je voudrais mettre à part :
- les fonctions (def) : mesFonctions.py
- les parametres (des variables communes) : mesParametres.py
 
A partir de ça, je voudrais créer des scripts qui ont la meme logique/organisation.
 
- script01.py

Code :
  1. import mesFonctions
  2. import mesParametres
  3. script01()


 
- script02.py

Code :
  1. import mesFonctions
  2. import mesParametres
  3. script02()


 
J'ai tenté mais j'obtiens une erreur. J'ai mes "import standards" (import time, import os, import sys, ...) dans "mesFonctions.py" mais ils ne sont pas vu dans "mesParametres.py"
Alors que j'ai tout dans le meme fichier 0 erreur, ça marche bien.
 
Et c'est le meme probleme pour les variables. Si je definis une variable xxx dans "mesFonctions.py" et que je fais un print(xxx) dans "mesParametres.py", j'ai une erreur (la variable n'existe pas).
 
En gros je voudrais faire l'équivalent d'un include() en PHP mais en python mais je ne trouve pas. :/
Comment je peux réussir à faire ça ? :??:
 
Merci :jap:


---------------
"Les soldats vivent. Et se demandent pourquoi." Toubib (La Compagnie noire) | [TU] Pronomoo
mood
Publicité
Posté le 27-02-2026 à 15:05:12  profilanswer
 

n°2518980
boutlatent
Posté le 01-03-2026 à 19:48:44  profilanswer
 

Il contient quoi ton fichier mesParametres.py ?
C'est un module servant aux partages de données ?
 
L'équivalent d'un include php, c'est de faire

Code :
  1. from module_machin import *

Et c'est une très, très mauvaise pratique en python.
 
Si dans tel module de ton application, tu as besoin d'autres modules, que ce soit les tiens ou des modules python, bah il faut les importer, mesParametres n'a aucune connaissance des modules, variables, fonctions, classes, etc. de ceux de mesFonctions.


---------------
La connerie est la décontraction de l'intelligence.
n°2518984
SuperSic
Posté le 01-03-2026 à 20:35:45  profilanswer
 

:hello:
 

boutlatent a écrit :

Il contient quoi ton fichier mesParametres.py ?
C'est un module servant aux partages de données ?


mesParametres.py contient des variables dont j'ai besoin dans le reste du script comme des noms de fichiers pour mes sorties, des noms de fichiers pour mon logging, des clé API, ...
J'aime regroupé tout ça en début de script pour éviter de chercher un truc à la ligne 437 du script.
 

boutlatent a écrit :

L'équivalent d'un include php, c'est de faire

Code :
  1. from module_machin import *

Et c'est une très, très mauvaise pratique en python.
 
Si dans tel module de ton application, tu as besoin d'autres modules, que ce soit les tiens ou des modules python, bah il faut les importer, mesParametres n'a aucune connaissance des modules, variables, fonctions, classes, etc. de ceux de mesFonctions.


Ok mais ce cas, je fais comment pour le faire proprement ? :??:
Avec un "import X", je ne vois pas que j'importe. :/
 
 
 


---------------
"Les soldats vivent. Et se demandent pourquoi." Toubib (La Compagnie noire) | [TU] Pronomoo
n°2518987
boutlatent
Posté le 01-03-2026 à 21:32:55  profilanswer
 

Je ne comprends pas trop ton souci, d'après ce que tu dis, ton module mesParametres est un module de constantes, enfin, c'est ce que je comprends.
 
Si ton module mesFonctions a besoin de quelque chose dans ton module mesParametres, bah il suffit de l'importer dans ton module.
 
>>> mesFonctions.py
 

Code :
  1. import mesParametres
  2. print(mesParametres.une_variable_de_mesParametres)


 


---------------
La connerie est la décontraction de l'intelligence.
n°2519667
erwan83
Du Shift DEL tu te méfieras !
Posté le 09-03-2026 à 17:46:46  profilanswer
 

Bonjour.  
En gros tu as :
Un fichier nommé MAIN.py qui va chercher  
une fct MYFCT() dans  
un fichier nommé FUNCTIONS.py
 
Maintenant admettons que ton fichier FUNCTIONS.py contienne 10 voire plus de fonctions différentes
 
=> si tu veux appeler la fonction MYFCT() tu vas écrire :

Code :
  1. ### MAIN.py
  2. from FUNCTIONS import MYFCT


éventuellement (si tu veux lui donner un nom explicite par la suite dans ton code MAIN.py) :

Code :
  1. ### MAIN.py
  2. from FUNCTIONS import MYFCT as Fonction_facturation


 
=> si veux appeler toutes les fonctions de FUNCTIONS.py
PROBLEME 1 :  
Tu vas gaver ta mémoire avec des fonctions éventuellement inutiles
PROBLEME 2 :
Tu risques de lancer des fonctions inutiles.
 
 
Pour te donner une idée, voici un code sur lequel je travaille:
 

Code :
  1. from PyQt6.QtWidgets import QApplication, QPushButton, QWidget, QLineEdit,QDialog, QLabel, QCalendarWidget,QMessageBox,QComboBox
  2. from PySide6.QtCore import QCoreApplication, QMetaObject, QObject, QPoint,QRect, QSize, QUrl, Qt
  3. from PySide6.QtGui import QBrush, QColor, QConicalGradient, QFont,QFontDatabase, QIcon, QLinearGradient, QPalette, QPainter, QPixmap,QRadialGradient
  4. #from PySide6.QtWidgets import *


 
Ca vaut mieux que d'importer :
 

Code :
  1. QAbstractButton Class Reference
  2. QAbstractGraphicsShapeItem Class Reference
  3. QAbstractItemDelegate Class Reference
  4. QAbstractItemView Class Reference
  5. QAbstractScrollArea Class Reference
  6. QAbstractSlider Class Reference
  7. QAbstractSpinBox Class Reference
  8. QAccessibleWidget Class Reference
  9. QApplication Class Reference
  10. QBoxLayout Class Reference
  11. QButtonGroup Class Reference
  12. QCalendarWidget Class Reference
  13. QCheckBox Class Reference
  14. QColorDialog Class Reference
  15. QColormap Class Reference
  16. QColumnView Class Reference
  17. QComboBox Class Reference
  18. QCommandLinkButton Class Reference
  19. QCommonStyle Class Reference
  20. QCompleter Class Reference
  21. QDataWidgetMapper Class Reference
  22. QDateEdit Class Reference
  23. QDateTimeEdit Class Reference
  24. QDial Class Reference
  25. QDialog Class Reference
  26. QDialogButtonBox Class Reference
  27. QDockWidget Class Reference
  28. QDoubleSpinBox Class Reference
  29. QErrorMessage Class Reference
  30. QFileDialog Class Reference
  31. QFileIconProvider Class Reference
  32. QFocusFrame Class Reference
  33. QFontComboBox Class Reference
  34. QFontDialog Class Reference
  35. QFormLayout Class Reference
  36. QFrame Class Reference
  37. QGesture Class Reference
  38. QGestureEvent Class Reference
  39. QGestureRecognizer Class Reference
  40. QGraphicsAnchor Class Reference
  41. QGraphicsAnchorLayout Class Reference
  42. QGraphicsBlurEffect Class Reference
  43. QGraphicsColorizeEffect Class Reference
  44. QGraphicsDropShadowEffect Class Reference
  45. QGraphicsEffect Class Reference
  46. QGraphicsEllipseItem Class Reference
  47. QGraphicsGridLayout Class Reference
  48. QGraphicsItem Class Reference
  49. QGraphicsItemAnimation Class Reference
  50. QGraphicsItemGroup Class Reference
  51. QGraphicsLayout Class Reference
  52. QGraphicsLayoutItem Class Reference
  53. QGraphicsLineItem Class Reference
  54. QGraphicsLinearLayout Class Reference
  55. QGraphicsObject Class Reference
  56. QGraphicsOpacityEffect Class Reference
  57. QGraphicsPathItem Class Reference
  58. QGraphicsPixmapItem Class Reference
  59. QGraphicsPolygonItem Class Reference
  60. QGraphicsProxyWidget Class Reference
  61. QGraphicsRectItem Class Reference
  62. QGraphicsRotation Class Reference
  63. QGraphicsScale Class Reference
  64. QGraphicsScene Class Reference
  65. QGraphicsSceneContextMenuEvent Class Reference
  66. QGraphicsSceneDragDropEvent Class Reference
  67. QGraphicsSceneEvent Class Reference
  68. QGraphicsSceneHelpEvent Class Reference
  69. QGraphicsSceneHoverEvent Class Reference
  70. QGraphicsSceneMouseEvent Class Reference
  71. QGraphicsSceneMoveEvent Class Reference
  72. QGraphicsSceneResizeEvent Class Reference
  73. QGraphicsSceneWheelEvent Class Reference
  74. QGraphicsSimpleTextItem Class Reference
  75. QGraphicsTextItem Class Reference
  76. QGraphicsTransform Class Reference
  77. QGraphicsView Class Reference
  78. QGraphicsWidget Class Reference
  79. QGridLayout Class Reference
  80. QGroupBox Class Reference
  81. QHBoxLayout Class Reference
  82. QHeaderView Class Reference
  83. QInputDialog Class Reference
  84. QItemDelegate Class Reference
  85. QItemEditorCreator Class Reference
  86. QItemEditorCreatorBase Class Reference
  87. QItemEditorFactory Class Reference
  88. QKeySequenceEdit Class Reference
  89. QLCDNumber Class Reference
  90. QLabel Class Reference
  91. QLayout Class Reference
  92. QLayoutItem Class Reference
  93. QLineEdit Class Reference
  94. QListView Class Reference
  95. QListWidget Class Reference
  96. QListWidgetItem Class Reference
  97. QMainWindow Class Reference
  98. QMdiArea Class Reference
  99. QMdiSubWindow Class Reference
  100. QMenu Class Reference
  101. QMenuBar Class Reference
  102. QMessageBox Class Reference
  103. QPanGesture Class Reference
  104. QPinchGesture Class Reference
  105. QPlainTextDocumentLayout Class Reference
  106. QPlainTextEdit Class Reference
  107. QProgressBar Class Reference
  108. QProgressDialog Class Reference
  109. QProxyStyle Class Reference
  110. QPushButton Class Reference
  111. QRadioButton Class Reference
  112. QRhiWidget Class Reference
  113. QRubberBand Class Reference
  114. QScrollArea Class Reference
  115. QScrollBar Class Reference
  116. QScroller Class Reference
  117. QScrollerProperties Class Reference
  118. QSizeGrip Class Reference
  119. QSizePolicy Class Reference
  120. QSlider Class Reference
  121. QSpacerItem Class Reference
  122. QSpinBox Class Reference
  123. QSplashScreen Class Reference
  124. QSplitter Class Reference
  125. QSplitterHandle Class Reference
  126. QStackedLayout Class Reference
  127. QStackedWidget Class Reference
  128. QStandardItemEditorCreator Class Reference
  129. QStatusBar Class Reference
  130. QStyle Class Reference
  131. QStyleFactory Class Reference
  132. QStyleHintReturn Class Reference
  133. QStyleHintReturnMask Class Reference
  134. QStyleHintReturnVariant Class Reference
  135. QStyleOption Class Reference
  136. QStyleOptionButton Class Reference
  137. QStyleOptionComboBox Class Reference
  138. QStyleOptionComplex Class Reference
  139. QStyleOptionDockWidget Class Reference
  140. QStyleOptionFocusRect Class Reference
  141. QStyleOptionFrame Class Reference
  142. QStyleOptionGraphicsItem Class Reference
  143. QStyleOptionGroupBox Class Reference
  144. QStyleOptionHeader Class Reference
  145. QStyleOptionHeaderV2 Class Reference
  146. QStyleOptionMenuItem Class Reference
  147. QStyleOptionProgressBar Class Reference
  148. QStyleOptionRubberBand Class Reference
  149. QStyleOptionSizeGrip Class Reference
  150. QStyleOptionSlider Class Reference
  151. QStyleOptionSpinBox Class Reference
  152. QStyleOptionTab Class Reference
  153. QStyleOptionTabBarBase Class Reference
  154. QStyleOptionTabWidgetFrame Class Reference
  155. QStyleOptionTitleBar Class Reference
  156. QStyleOptionToolBar Class Reference
  157. QStyleOptionToolBox Class Reference
  158. QStyleOptionToolButton Class Reference
  159. QStyleOptionViewItem Class Reference
  160. QStylePainter Class Reference
  161. QStylePlugin Class Reference
  162. QStyledItemDelegate Class Reference
  163. QSwipeGesture Class Reference
  164. QSystemTrayIcon Class Reference
  165. QTabBar Class Reference
  166. QTabWidget Class Reference
  167. QTableView Class Reference
  168. QTableWidget Class Reference
  169. QTableWidgetItem Class Reference
  170. QTableWidgetSelectionRange Class Reference
  171. QTapAndHoldGesture Class Reference
  172. QTapGesture Class Reference
  173. QTextBrowser Class Reference
  174. QTextEdit Class Reference
  175. QTimeEdit Class Reference
  176. QToolBar Class Reference
  177. QToolBox Class Reference
  178. QToolButton Class Reference
  179. QToolTip Class Reference
  180. QTreeView Class Reference
  181. QTreeWidget Class Reference
  182. QTreeWidgetItem Class Reference
  183. QTreeWidgetItemIterator Class Reference
  184. QUndoView Class Reference
  185. QVBoxLayout Class Reference
  186. QWhatsThis Class Reference
  187. QWidget Class Reference


---------------
https://www.oise-net-multiservices.com
n°2519668
erwan83
Du Shift DEL tu te méfieras !
Posté le 09-03-2026 à 18:05:35  profilanswer
 

Pour appeler une fonction avec des paramètres :
 
Ici un logiciel de conversation Homme / Machine
phrase est la dernière phrase que je prononce
last_amstar est la dernière phrase prononcée par l'IA
last_utilisateur est la dernière phrase prononcée par moi avant l'IA
 
Donc on se retrouve avec une succession de 3 variables définies dans MAIN.py
 
Ici j'importe la fonction depuis le fichier et je l'appelle (entre temps j'ai assigné des valeurs à mes variables)
 
MAIN.py :

Code :
  1. from type_de_question import type_de_question2
  2. type_de_question2(phrase,last_amstar,last_utilisateur)


... et dans les paramètres d'appel de la fonction, je passe mes variables  
 
Maintenant, la fonction à proprement parler, dans le fichier  
type_de_question.py

Code :
  1. def type_de_question2(phrase,last_amstar,last_utilisateur):
  2.     if "xxxxxx" in phrase[0:len("xxxxxx" )]:
  3.         type_question = "typexxx001"
  4.         objet_question = phrase[len("xxxxxx" )+1:len(phrase)]
  5. etc etc etc


Donc tu vois que j'ai passé depuis MAIN.py des variables :
Elles sont définies comme nécessaires au fonctionnement correct de ma fonction.
Si une seule de ces variables manque, la fonction va planter.
 
Mais en faisant ainsi tu peux faire tes calculs via des fonctions stockées à l'exterieur en envoyant autant de variables que tu veux.


Message édité par erwan83 le 09-03-2026 à 18:06:53

---------------
https://www.oise-net-multiservices.com

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  Python et import/include dans un script

 

Sujets relatifs
[RESOLU] Variables "globales" en Python ??PB avec pyttsx3 sur Python 3.13
[Python] : Projet perso – dumps F1 à jour dans le schéma ErgastUn assistant IA m’a pondu un script Bash… et une blague en bonus !
Python PostGrsql PB requete[Powershell] recupere resultat script distance
python additionner 2 nombres positive sans utiliser operateurexercice Algo NSI en python : consigne pas claire.
Première app graphique en python - tkinterEchec d'importation d'un module Python
Plus de sujets relatifs à : Python et import/include dans un script


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)