I'm trying to calculate a field in Model Builder using the Calculate Field tool. I'm using the following code block and expression in the calculation, but am getting an "invalid syntax (, line 1)" error.
# Code Block:
def get_block(block_id):
block_only = str(block_id)[1:]
if block_only[-1].isalpha():
return block_only.zfill(3)
else:
return block_only.zfill(2)
# Expression:
get_block(%block_id%)
%block_id% is an in-line substitution that points to a string variable I create as the output of a custom Python script tool. Any ideas what the error is?
1 Answer 1
You need to quote the in-line substitution to pass the string variable.
The expression should read:
get_block('%block_id%')
or
get_block("%block_id%")
See the caution note in this help topic: http://resources.arcgis.com/en/help/main/10.1/index.html#//004000000004000000
-
Ah, yes, that must be it. Will verify tomorrow when I'm back at work. Thanks!nmpeterson– nmpeterson2013年03月11日 22:35:52 +00:00Commented Mar 11, 2013 at 22:35
-
Just made the change and it worked perfectly. Thank you, again.nmpeterson– nmpeterson2013年03月12日 13:44:46 +00:00Commented Mar 12, 2013 at 13:44
Explore related questions
See similar questions with these tags.