Saya telah menulis Python di editor teks saya jadi saya punya skrip Python, script.py. Saya masih mengembangkannya sehingga belum ingin memasukkannya ke dalam kotak alat saya, dan saat ini ini berarti menyalin dan menempelkannya dari editor teks saya ke jendela Python di ArcGIS Desktop.
Apakah ada perintah yang memungkinkan saya memanggilnya dari jendela ArcGIS Python?
Sesuatu di sepanjang garis:
run script.py
Tampaknya logis bahwa itu harus ada, tetapi mungkin tidak.
arcpy
arcmap
python-window
whatahitson
sumber
sumber
Jawaban:
Anda bisa menggunakannya
execfile
.Contohnya,
sumber
Saya tidak yakin dengan tingkat pengalaman Anda, tetapi sebelum Anda terlalu jauh, Anda akan ingin mempelajari beberapa praktik terbaik dengan Python. Akan lebih idiomatis, atau " Pythonic ", untuk memodulasi kode Anda menjadi fungsi / kelas ,
import
modul Anda, dan memanggil satu fungsi / kelas.Jika Anda ingin melakukan perubahan dan menguji secara interaktif modul yang sudah diimpor, Anda dapat menggunakan
reload
fungsi bawaan.Gunakan
if __name__ == '__main__'
trik untuk melindungi prosedur utama skrip Anda (segala sesuatu selain impor, deklarasi fungsi / kelas, dan mungkin beberapa deklarasi variabel tingkat modul) agar tidak berjalan secara otomatis saat mengimpor modul, dan hanya jalankan logika itu saat menjalankan skrip secara langsung, misalnya dari prompt perintah atau melalui ArcToolbox.Kemudian Anda dapat menguji bagian-bagian tertentu dari modul Anda dengan hanya memanggil kelas / fungsi yang relevan.
sumber
reload()
fungsi dan semua nastiness caching modul dan semacamnya dengan Python. Jika Anda berulang menulis beberapa skrip kecil dalam editor teks, ini agak berlebihan.reload
selama saya menghindari menggunakanfrom module import x
ataufrom module import *
.