Nếu tôi hiểu chính xác câu hỏi của bạn, bạn muốn kiểm tra xem bạn có đang chạy tập lệnh như một công cụ tập lệnh hay không. Nếu nó đang chạy như một công cụ tập lệnh, bạn muốn đặt một số biến bằng GetParameterAsText và nếu nó đang chạy dưới dạng độc lập, bạn muốn sử dụng một số biến được mã hóa cứng, điều này có đúng không? Nếu vậy, bạn có thể làm như sau:
if len(sys.argv) > 1:
#Assign input and output parameters for script tool
par = arcpy.GetParameterAsText(0)
else:
# Hard coded parameters for testing
par = 'Hello'
Bằng cách kiểm tra độ dài của sys.argv, bạn đang xác định có bao nhiêu tham số được truyền cho tập lệnh. Luôn có ít nhất một tham số (vị trí của chính tập lệnh), vì vậy nếu có nhiều hơn một tham số được thông qua, bạn có thể giả sử rằng ArcGIS đang gửi chúng (trừ khi bạn tình cờ chuyển các đối số từ một nơi khác).