Ich habe Python in meinem Texteditor geschrieben, daher habe ich ein Python-Skript, script.py. Ich entwickle es noch, möchte es also noch nicht in meine Toolbox aufnehmen. Im Moment bedeutet dies, es aus meinem Texteditor in das Python-Fenster in ArcGIS Desktop zu kopieren und einzufügen.
Gibt es einen Befehl, mit dem ich ihn über das ArcGIS Python-Fenster aufrufen kann?
Etwas in der Art von:
run script.py
Es scheint logisch, dass es existieren sollte, aber vielleicht auch nicht.
arcpy
arcmap
python-window
Whatahitson
quelle
quelle
Antworten:
Sie könnten verwenden
execfile
.Zum Beispiel,
quelle
Ich bin mir Ihrer Erfahrung nicht sicher, aber bevor Sie zu weit kommen, sollten Sie einige Best Practices in Python lernen. Es wäre idiomatischer oder " Pythonic ", Ihren Code in Funktionen / Klassen , Ihr Modul, zu modularisieren und eine oder mehrere Funktionen / Klassen aufzurufen.
import
Wenn Sie Änderungen vornehmen und das bereits importierte Modul interaktiv testen möchten, können Sie die
reload
integrierte Funktion verwenden.Verwenden Sie den
if __name__ == '__main__'
Trick , um die Hauptprozedur Ihres Skripts (alles andere als Importe, Funktions- / Klassendeklarationen und möglicherweise einige Variablendeklarationen auf Modulebene) vor der automatischen Ausführung beim Importieren des Moduls zu schützen, und führen Sie diese Logik nur aus, wenn Sie das Skript direkt ausführen, z. B. von eine Eingabeaufforderung oder über ArcToolbox.Anschließend können Sie bestimmte Teile Ihres Moduls testen, indem Sie einfach die entsprechenden Klassen / Funktionen aufrufen.
quelle
reload()
Funktion und der ganzen Unangenehmkeit des Modul-Caching und dergleichen in Python befassen . Wenn Sie iterativ ein kleines Skript in einem Texteditor schreiben, ist dies ein wenig übertrieben.reload
, solange ich es vermeide,from module import x
oder zu verwendenfrom module import *
.