J'ai écrit Python dans mon éditeur de texte, j'ai donc un script Python, script.py. Je suis toujours en train de le développer, donc je ne veux pas encore le mettre dans ma boîte à outils, et pour le moment, cela signifie le copier et le coller de mon éditeur de texte dans la fenêtre Python dans ArcGIS Desktop.
Existe-t-il une commande qui me permet de l'appeler depuis la fenêtre ArcGIS Python?
Quelque chose dans le sens de:
run script.py
Il semble logique qu'elle existe, mais peut-être pas.
arcpy
arcmap
python-window
whatahitson
la source
la source
Réponses:
Vous pourriez utiliser
execfile
.Par exemple,
la source
Je ne suis pas sûr de votre niveau d'expérience, mais avant d'aller trop loin, vous voudrez apprendre quelques bonnes pratiques en Python. Il serait plus idiomatique, ou " Pythonic ", de modulariser votre code en fonctions / classes ,
import
votre module, et d'appeler une ou plusieurs fonctions / classes.Si vous souhaitez apporter des modifications et tester de manière interactive le module déjà importé, vous pouvez utiliser la
reload
fonction intégrée.Utilisez l'
if __name__ == '__main__'
astuce pour protéger la procédure principale de votre script (tout autre que les importations, les déclarations de fonction / classe et peut-être certaines déclarations de variable au niveau du module) contre l'exécution automatique lors de l'importation du module, et n'exécutez cette logique que lorsque vous exécutez le script directement, par exemple à partir de une invite de commande ou via ArcToolbox.Ensuite, vous pouvez tester des parties spécifiques de votre module en appelant simplement les classes / fonctions pertinentes.
la source
reload()
fonction et toute la méchanceté de la mise en cache des modules et autres en Python. Si vous écrivez de manière itérative un petit script dans un éditeur de texte, c'est un peu exagéré.reload
depuis que j'évite d'utiliserfrom module import x
oufrom module import *
.