He estado escribiendo Python en mi editor de texto, así que tengo un script de Python, script.py. Todavía lo estoy desarrollando, así que no quiero ponerlo en mi caja de herramientas todavía, y por el momento esto significa copiarlo y pegarlo desde mi editor de texto a la ventana de Python en ArcGIS Desktop.
¿Hay algún comando que me permita llamarlo desde la ventana de ArcGIS Python?
Algo en la línea de:
run script.py
Parece lógico que deba existir, pero quizás no.
arcpy
arcmap
python-window
whatahitson
fuente
fuente
Respuestas:
Podrías usar
execfile
.Por ejemplo,
fuente
No estoy seguro de su nivel de experiencia, pero antes de llegar demasiado lejos querrá aprender algunas prácticas recomendadas en Python. Sería más idiomático, o " Pythonic ", modularizar su código en funciones / clases ,
import
su módulo, y llamar a una o más funciones / clases.Si desea realizar cambios y probar de forma interactiva el módulo ya importado, puede usar la
reload
función incorporada.Use el
if __name__ == '__main__'
truco para proteger el procedimiento principal de su secuencia de comandos (todo, excepto las importaciones, las declaraciones de función / clase, y tal vez algunas declaraciones de variables de nivel de módulo) de ejecutarse automáticamente al importar el módulo, y solo ejecute esa lógica cuando ejecute la secuencia de comandos directamente, por ejemplo, desde un símbolo del sistema o a través de ArcToolbox.Luego puede probar partes específicas de su módulo simplemente llamando a las clases / funciones relevantes.
fuente
reload()
función y toda la maldad del almacenamiento en caché de módulos y demás en Python. Si está escribiendo iterativamente un pequeño script en un editor de texto, esto es un poco exagerado.reload
mientras evito usarfrom module import x
ofrom module import *
.