Using the Python window

Using tool dialog boxes is the most common way to execute geoprocessing operations for those new to geoprocessing. When only a single tool must be executed at a time, these are a good way to run operations. Geoprocessing tool dialog boxes are easy to use and provide immediate feedback by placing warning or error icons and messages next to parameters not being used correctly. However, there are other, more efficient ways to execute geoprocessing tools or operations, such as Python scripting.

The Python window is a fully interactive Python interpreter (or interface) that allows Python commands that can contain geoprocessing tools or geoprocessor methods to be executed inside an ArcGIS Desktop application. This window is the best location to directly access Python scripting functionality in ArcGIS. Skills learned in the Python window can be directly applied when creating more complex stand-alone Python scripts or Python script tools.

The simplest way to use Python in ArcGIS is to enter Python commands into the Python window. The Python window prompts with three greater-than symbols (>>>), indicating the first line of the code block to execute. Simple Python syntax can be immediately entered and executed from this first line. Since the Python code that is entered can be immediately executed by pressing the ENTER key, the Python window can become a useful location to run and view experimental code. If unsure how a particular Python command works, open the Python window and experiment until the command runs without raising an error.

There are several key features that make the Python window a valuable resource for running and experimenting with Python commands and syntax:

>>> print "Hello Jack!"
Hello Jack!
>>> count = 0
>>> count
0
>>>

In the above example, a simple statement is printed and a variable is assigned a value. Notice after the print statement and after the variable count, the return value is echoed on the Python window.

Entering multiple commands

To enter lines after the first line without executing the code block, after entering the first line, hold down the CTRL key and press ENTER. The cursor moves to a secondary prompt (...) in the Python window, and an additional line of code can be entered. When finished entering all commands in this manner, press ENTER twice to execute the entire code block.

>>> x = 1
... y = 2
... print x + y
... 
3
>>> 

The Python window also presents a secondary prompt when more information is needed to complete a command. In the following example, the use of the logic for statement requires at least one more additional line to complete the code.

>>> for count in range(1,5):
...     print count
... 
1
2
3
4
>>>

Paths

Programming languages, such as Python, treat a backslash (\) as an escape character. For instance, \n represents a line feed, and \t represents a tab. When specifying a path, a forward slash (/) can be used in place of a backslash. Two backslashes can be used instead of one to avoid a syntax error. A string literal can also be used by placing the letter r before a string containing a backslash so it is interpreted correctly.

import arcpy

arcpy.GetCount_management("c:/temp/streams.shp")
arcpy.GetCount_management("c:\\temp\\streams.shp")
arcpy.GetCount_management(r"c:\temp\streams.shp")

Python window keyboard shortcuts

F1

Shows the help for the current cursor location.

F2

Checks the syntax of the current line (or code block if in multiple line mode). Any errors will be shown in the Help pane.

SHIFT or CTRL+ENTER

Enters multiple line mode. To exit multiple line mode (execute the code block), press the ENTER key on the last line.

Up / Down

Access previously entered commands on the last line.

Right-click

Access additional options.


12/15/2011