Book Image

Programming ArcGIS with Python Cookbook, Second Edition

By : Donald Eric Pimpler, Eric Pimpler
Book Image

Programming ArcGIS with Python Cookbook, Second Edition

By: Donald Eric Pimpler, Eric Pimpler

Overview of this book

Table of Contents (22 chapters)
Programming ArcGIS with Python Cookbook Second Edition
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Running Python scripts from the command line


Up to this point in the book, all your Python scripts have been run as either script tools in ArcGIS or from a Python development environment. The Windows command prompt provides yet another way of executing your Python scripts. The command prompt is used primarily to execute scripts that will be run as a part of a batch file and/or as scheduled tasks.

Getting ready

There are a couple advantages of running Python geoprocessing scripts from the command prompt. These scripts can be scheduled to batch process your data during off hours for more efficient processing, and they are easier to debug due to the built-in Python error handling and debugging capabilities.

In this recipe, you will learn how to use the Windows command prompt to execute a Python script. You will need administrative rights to complete this recipe, so you may need to contact your information technology support group to make this change.

How to do it…

Follow these steps to learn how to run a script from the Windows command prompt:

  1. In Windows, navigate to Start | All Programs | Accessories | Command Prompt which will display a window similar to the following screenshot:

    The window will display the current directory. Your directory will differ to some degree. Let's change to the directory for this appendix.

  2. Type cd c:\ArcpyBook\Appendix1.

  3. Type dir to see a listing of the files and subdirectories. You should see only a single Python file called ListFields.py:

  4. You will need to make sure that the Python interpreter can be run from anywhere in your directory structure. Navigate to Start | All Programs | Accessories | System Tools | Control Panel as shown in the following screenshot:

  5. Click on System and Security.

  6. Click on System.

  7. Click on Advanced system settings.

  8. In the System Properties dialog box, select the Advanced tab and then the Environment Variables button, as shown in the following screenshot:

  9. Find the Path system variable, as can be seen in the following screenshot, and click on Edit…:

  10. Examine the entire text string for the C:\Python27\ArcGIS10.3 directory. If the text string isn't found, add it to the end. Make sure that you add a semicolon before adding the path as shown in the following screenshot. Now, when you type python in the command prompt, it will look through each of the directories in the Path system variable, checking for an executable called python.exe.

  11. Click on OK to dismiss the Edit System Variable dialog box.

  12. Click on OK to dismiss the Environment Variables dialog box.

  13. Click on OK to dismiss the System Properties dialog box.

  14. Return to the command prompt.

  15. Type python ListFields.py. This will run the ListFields.py script. After a brief delay, you should see the following output:

The delay is caused by the first line of code that imports the arcpy module.

Tip

Consider adding a print statement before import to inform users of the delay.

How it works…

The ListFields.py script provided for you in this recipe is a simple script that lists the attribute fields for Burglary feature class. The workspace and feature class name are hardcoded in the script. Typing python followed by the name of the script, which is ListFields.py in this case, triggered the execution of a script using the Python interpreter. As I mentioned earlier, the workspace and feature class names were hardcoded in this script. In the next recipe, you will learn how to pass in arguments to the script so that you can remove the hardcoding and make your script more flexible.