<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: how to check if cursor object is empty? in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132842#M10323</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;If your cursor is empty, it will never step in. Nothing in the loop&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_macro_code jive_text_macro"&gt;for row in rows:&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;will execute because there is no row in rows, if you follow.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So I tested your code and came back with 4 rows, is that right? i am confused, I thought you wanted to test if the cursor object was empty?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 02 Feb 2012 18:59:59 GMT</pubDate>
    <dc:creator>MathewCoyle</dc:creator>
    <dc:date>2012-02-02T18:59:59Z</dc:date>
    <item>
      <title>how to check if cursor object is empty?</title>
      <link>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132836#M10317</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;It seems an easy task, but I can't figure out how to check if the searchcursor object is empty.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I know that it is empty because the query fails....i.e. arcpy.searchcursor(FC, query).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;However, even if it (arcpy.searchcursor..) fails, it still returns a geoprocessing cursor object...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;rows = gp.SearchCursor(crosswalk_dbf,query)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;print rows ---&amp;gt; returns&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;geoprocessing cursor object object at 0x029C7CC0&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I can't check if it's empty, because, well, it's not.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;And for reasons I obviously don't understand.......&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;rows = gp.SearchCursor(crosswalk_dbf,query)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;for row in rows:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; if not row.isNull(fieldname)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;is always 'true'.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Please help.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm using Arc10 SP3, win 7 64bit.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Many thanks.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Feb 2012 14:15:50 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132836#M10317</guid>
      <dc:creator>kyleturner</dc:creator>
      <dc:date>2012-02-02T14:15:50Z</dc:date>
    </item>
    <item>
      <title>Re: how to check if cursor object is empty?</title>
      <link>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132837#M10318</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I am sure there is a more elegant way, but you could do something simple like...&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
checkvar = "cursor empty"
rows = arcpy.SearchCursor(fc, query)
for row in rows:
&amp;nbsp;&amp;nbsp;&amp;nbsp; if checkvar == "cursor empty":
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; checkvar = "cursor full"
print checkvar

&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here's something probably better, early morning brain not working yet.&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
row = None
rows = arcpy.SearchCursor(fc, query)
for row in rows:
&amp;nbsp;&amp;nbsp;&amp;nbsp; #cursor things
if not row:
&amp;nbsp;&amp;nbsp;&amp;nbsp; print "cursor was empty"

&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 07:26:26 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132837#M10318</guid>
      <dc:creator>MathewCoyle</dc:creator>
      <dc:date>2021-12-11T07:26:26Z</dc:date>
    </item>
    <item>
      <title>Re: how to check if cursor object is empty?</title>
      <link>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132838#M10319</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Maybe this would help?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;arcpy.MakeFeatureLayer_management(indxTileFC, indxTileFL, "HCPUNIT_NM &amp;lt;&amp;gt; 'OESF'); showGpMessage()
if int(arcpy.GetCount_management(indxTileFL).getoutput(0)) == 0:
&amp;nbsp;&amp;nbsp; print "Query returned no records!"
else: #if there are records returned by the query, then run a search cursor and look for Null field values in MY_FIELD
&amp;nbsp;&amp;nbsp; searchRows = arcpy.SearchCursor(indxTileFC, "HCPUNIT_NM &amp;lt;&amp;gt; 'OESF')
&amp;nbsp;&amp;nbsp; for searchRow in searchRows:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if searchRow.MY_FIELD == None: #Another way: if searchRow.isNull("MY_FIELD") == True:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "MY _FIELD is Null!"
&amp;nbsp;&amp;nbsp; del searchRow, searchRows&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 07:26:29 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132838#M10319</guid>
      <dc:creator>ChrisSnyder</dc:creator>
      <dc:date>2021-12-11T07:26:29Z</dc:date>
    </item>
    <item>
      <title>Re: how to check if cursor object is empty?</title>
      <link>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132839#M10320</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks for the help Mathew. (Chris I haven't tried your suggestion yet.)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Still no go.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I even tried a very basic search from the Python cursor. Here's what I tried:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;gt; row, rows = None, None&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;gt; query = "Fieldname = '" + "'" variable + "'" --- The quotes are right in my code I know for sure, maybe not here tho.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;gt; table = "C:/path/to/data.dbf&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;gt; rows = row.searchcursor(table, query)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;gt; for row in rows:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if row == None:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print 'asdf'&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if row == 'None':&amp;nbsp;&amp;nbsp;&amp;nbsp; ### just to be sure &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print 'jkl'&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if not row == 'None':&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print 'not asdf'&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if not row == None:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print 'not jkl'&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;And nothing is printed.&amp;nbsp;&amp;nbsp; Nothing at all. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What's the deal.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Feb 2012 16:15:28 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132839#M10320</guid>
      <dc:creator>kyleturner</dc:creator>
      <dc:date>2012-02-02T16:15:28Z</dc:date>
    </item>
    <item>
      <title>Re: how to check if cursor object is empty?</title>
      <link>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132840#M10321</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;You need to copy and paste the exact indentation you are using, that is probably where your error is.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Feb 2012 16:24:42 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132840#M10321</guid>
      <dc:creator>MathewCoyle</dc:creator>
      <dc:date>2012-02-02T16:24:42Z</dc:date>
    </item>
    <item>
      <title>Re: how to check if cursor object is empty?</title>
      <link>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132841#M10322</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;All:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;To help expedite this matter, I attached a very brief snippet of my code along with the necessary table (the table is zipped up because I can't attach a dbf).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;This is really starting to make me crazy.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Chris: Your suggestion looks like it's the ticket, but can you 'dumb it down' a bit. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
import arcgisscripting
gp = arcgisscripting.create(9.3)
table = 'C:/Users/lilaandmax/Downloads/AttributeCrosswalk.dbf'
####### the following three0FC works 
three0FC = 'AirfieldSurface'
######## but if you do this, three0FC = 'XAirfieldSurface'&amp;nbsp; ## nothing happens 
query = "Three0FCla = '" + three0FC + "'"
row, rows = None, None
rows = gp.SearchCursor(table, query)

for row in rows:
&amp;nbsp;&amp;nbsp;&amp;nbsp; if row.isNull("Three0FCla"):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "isNull"
&amp;nbsp;&amp;nbsp;&amp;nbsp; elif row == None:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "None"
&amp;nbsp;&amp;nbsp;&amp;nbsp; elif row == "":
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "emptyspace"
&amp;nbsp;&amp;nbsp;&amp;nbsp; else:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print row.getValue("Three0FCla")

&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 07:26:32 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132841#M10322</guid>
      <dc:creator>kyleturner</dc:creator>
      <dc:date>2021-12-11T07:26:32Z</dc:date>
    </item>
    <item>
      <title>Re: how to check if cursor object is empty?</title>
      <link>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132842#M10323</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;If your cursor is empty, it will never step in. Nothing in the loop&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_macro_code jive_text_macro"&gt;for row in rows:&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;will execute because there is no row in rows, if you follow.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So I tested your code and came back with 4 rows, is that right? i am confused, I thought you wanted to test if the cursor object was empty?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Feb 2012 18:59:59 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132842#M10323</guid>
      <dc:creator>MathewCoyle</dc:creator>
      <dc:date>2012-02-02T18:59:59Z</dc:date>
    </item>
    <item>
      <title>Re: how to check if cursor object is empty?</title>
      <link>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132843#M10324</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Sure - see (code comments denoted by the # symbol):&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;#STEP1: Execute a SQL query (the MakeFeatureLayer tools is probably the quickest way to do this)
arcpy.MakeFeatureLayer_management(indxTileFC, indxTileFL, "HCPUNIT_NM &amp;lt;&amp;gt; 'OESF')
#STEP2: Are any records returned? If 0 records satisfy the SQL query, then let us know! If 0 records are returned, the SQl query is probably incorrect!!!
if int(arcpy.GetCount_management(indxTileFL).getoutput(0)) == 0:
&amp;nbsp;&amp;nbsp; print "Query returned no records!"
#STEP3: If there are records returned by the query, then run a search cursor and look for Null field values in MY_FIELD
else:
&amp;nbsp;&amp;nbsp; #Create a search cursor object using the same query as the one in the MakeFeatureLayer 
&amp;nbsp;&amp;nbsp; searchRows = arcpy.SearchCursor(indxTileFC, "HCPUNIT_NM &amp;lt;&amp;gt; 'OESF')
&amp;nbsp;&amp;nbsp; #For each row in the collection of search cursor rows
&amp;nbsp;&amp;nbsp; for searchRow in searchRows:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #if the value in the "MY_FIELD" field is Null let us know... If theer are no Null values in the MY_FIELD field, then no message will be printed.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if searchRow.MY_FIELD == None: #Another way: if searchRow.isNull("MY_FIELD") == True:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "MY _FIELD is Null!"
&amp;nbsp;&amp;nbsp; #Delete the search cursor objects so the read lock is released on the search cursor table
&amp;nbsp;&amp;nbsp; del searchRow, searchRows&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 07:26:35 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132843#M10324</guid>
      <dc:creator>ChrisSnyder</dc:creator>
      <dc:date>2021-12-11T07:26:35Z</dc:date>
    </item>
    <item>
      <title>Re: how to check if cursor object is empty?</title>
      <link>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132844#M10325</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Yes, like Mathew says, your issue is that the SQL statement you provide in your cursor is probably incorrect and is returning 0 records (which is why you get no cursor row object). My code will only run the cursor if your query returns 1 or more records.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Feb 2012 19:20:10 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132844#M10325</guid>
      <dc:creator>ChrisSnyder</dc:creator>
      <dc:date>2012-02-02T19:20:10Z</dc:date>
    </item>
    <item>
      <title>Re: how to check if cursor object is empty?</title>
      <link>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132845#M10326</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;If your cursor is empty, it will never step in. Nothing in the loop&lt;BR /&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_macro_code jive_text_macro"&gt;for row in rows:&lt;/PRE&gt;&lt;BR /&gt;will execute because there is no row in rows, if you follow.&lt;BR /&gt;&lt;BR /&gt;So I tested your code and came back with 4 rows, is that right? i am confused, I thought you wanted to test if the cursor object was empty?&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Duh...I should have tested for row == None &lt;/SPAN&gt;&lt;STRONG&gt;outside &lt;/STRONG&gt;&lt;SPAN&gt;the for/loop, being sure to set row = None before the call to Searchcursor....duh.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Yes, the code as shown will find something, because "AirfieldSurface" is in the dbf. However, change the FCls30 variable to something like, ZZZ, and see what happens.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks again.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Feb 2012 19:26:07 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132845#M10326</guid>
      <dc:creator>kyleturner</dc:creator>
      <dc:date>2012-02-02T19:26:07Z</dc:date>
    </item>
    <item>
      <title>Re: how to check if cursor object is empty?</title>
      <link>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132846#M10327</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks for your help gentlemen.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Chris, I tried your getcount_management option, but it seems that you can only use it on a layer/fc. I tried count = int(gp.getcount_management(rows).getoutput(0))......which fails.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I suppose I could have made a layer, but I figured out another way.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here's how I fixed it:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;rows = gp.SearchCursor(fc,query)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;row = rows.next()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if not (row == None):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; do what you need to do&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;elif (row == None):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; well, then someone needs to fix the dataset.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks again gentlemen for your time.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Cheers.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Feb 2012 07:20:41 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132846#M10327</guid>
      <dc:creator>kyleturner</dc:creator>
      <dc:date>2012-02-03T07:20:41Z</dc:date>
    </item>
    <item>
      <title>Re: how to check if cursor object is empty?</title>
      <link>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132847#M10328</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Be careful when you do the 'row = rows.next()' because then you are moving the cursor forward, which could throw off any subsequent looping. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I prefer the method Matthew described:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; row, rows= None, None
&amp;nbsp;&amp;nbsp;&amp;nbsp; rows= arcpy.SearchCursor(inputFC)
&amp;nbsp;&amp;nbsp;&amp;nbsp; for row in rows:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -- do work---
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; del row, rows
&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Of course you can put your query clause in there to or do any sorting. If you wanted to know how many records were in there you could add a count:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; rowCount = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp; row, rows= None, None
&amp;nbsp;&amp;nbsp;&amp;nbsp; rows= arcpy.SearchCursor(inputFC)
&amp;nbsp;&amp;nbsp;&amp;nbsp; for row in rows:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rowCount += 1
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -- do work---
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; del row, rows
&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If the count is 0 then rows was empty. It used be to be that you would use the '.next()' method for a while loop, but now with the new syntax ('row in rows') I try to avoid the next method.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;-George&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 07:26:38 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132847#M10328</guid>
      <dc:creator>GeorgeNewbury</dc:creator>
      <dc:date>2021-12-11T07:26:38Z</dc:date>
    </item>
    <item>
      <title>Re: how to check if cursor object is empty?</title>
      <link>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132848#M10329</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Here's another way...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;import types
import arcpy as ap

rows = ap.SearchCursor(myTable, sql_statement)
row = rows.next()

if type(row) != types.NoneType:
&amp;nbsp;&amp;nbsp;&amp;nbsp; # do a bunch of work&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 07:26:40 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132848#M10329</guid>
      <dc:creator>PhilMorefield</dc:creator>
      <dc:date>2021-12-11T07:26:40Z</dc:date>
    </item>
    <item>
      <title>Re: how to check if cursor object is empty?</title>
      <link>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132849#M10330</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;An even shorter way:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;if arcpy.SearchCursor(myTable, sql_statement).next() == None:
&amp;nbsp;&amp;nbsp; print "Empty cursor!"&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The only trick though is to figure out if your SQL is returning any records or not... Which could be accomlished through a cursor statment like the one above or a combo of the MakeFeatureLayer/MakeTableView and the GetCount tool. Which one is faster? I dunno... It would also improve performance if the fields in your SQL were properly indexed also.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 07:26:43 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132849#M10330</guid>
      <dc:creator>ChrisSnyder</dc:creator>
      <dc:date>2021-12-11T07:26:43Z</dc:date>
    </item>
    <item>
      <title>Re: how to check if cursor object is empty?</title>
      <link>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132850#M10331</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I know I'm playing necromancer and raising this discussion&amp;nbsp;from the dead but I was looking for an answer to this question and found my own solution that I thought I would post. Maybe someone else has come up with something better by now.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks to &lt;A href="https://community.esri.com/migrated-users/3420" target="_blank"&gt;Joshua Bixby&lt;/A&gt;‌ for his &lt;A _jive_internal="true" href="https://community.esri.com/blogs/tilting/2016/02/02/the-iterable-cursor-python-built-ins-itertools" target="_blank"&gt;blog post on cursors&lt;/A&gt;, here's what I came up with:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;with&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;da&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;SearchCursor&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;in_table&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"*"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;as&lt;/SPAN&gt; s_cursor&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; sum&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; row &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; s_cursor&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="comment token"&gt;## Counts items in cursor, returns 0 if empty&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; s_cursor&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;reset&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="comment token"&gt;## Return cursor back to the first row after counting&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; row &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; s_cursor&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;# Process rows&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;row&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;else&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"Cursor is empty!"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;The check for rows will iterate through the cursor leaving nothing for the &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;.next()&lt;/SPAN&gt; item so you have to &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;.reset()&lt;/SPAN&gt; the cursor to start from the beginning again. In my case, I couldn't just count the rows with &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&lt;A href="http://desktop.arcgis.com/en/arcmap/latest/tools/data-management-toolbox/get-count.htm" rel="nofollow noopener noreferrer" target="_blank"&gt;GetCount_management()&lt;/A&gt;&lt;/SPAN&gt; in the original feature class because I was using a where clause in the search cursor.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 07:26:45 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132850#M10331</guid>
      <dc:creator>BlakeTerhune</dc:creator>
      <dc:date>2021-12-11T07:26:45Z</dc:date>
    </item>
    <item>
      <title>Re: how to check if cursor object is empty?</title>
      <link>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132851#M10332</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;To check if a applying a where clause returns no results can also be done with the GetCount tool. Just&amp;nbsp;make a featurelayer and check the result. Below&amp;nbsp;some examples including using the search cursor on empty results, which really is no problem at all.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;def&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;main&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; arcpy
&amp;nbsp;&amp;nbsp;&amp;nbsp; fc1 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; r&lt;SPAN class="string token"&gt;'D:\Xander\GeoNet\Ellipse\data.gdb\Ellipses'&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; fc2 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; r&lt;SPAN class="string token"&gt;'D:\Xander\GeoNet\Ellipse\data.gdb\Ellipses_empty'&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;# get count on a featureclass&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cnt1 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; getCount&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fc1&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cnt2 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; getCount&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fc2&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"fc1 has {0} features"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;format&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;cnt1&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"fc2 has {0} features"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;format&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;cnt2&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;# Cursor on a featureclass with features&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; max_oid &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; None
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;with&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;da&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;SearchCursor&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fc1&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'OID@'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;as&lt;/SPAN&gt; curs&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; row &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; curs&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oid &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; row&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; max_oid &lt;SPAN class="keyword token"&gt;is&lt;/SPAN&gt; None&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; max_oid &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; oid
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;elif&lt;/SPAN&gt; oid &lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; max_oid&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; max_oid &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; oid
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"max_oid for fc1:"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; max_oid

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;# Cursor on a featureclass without features&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; max_oid &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; None
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;with&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;da&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;SearchCursor&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fc2&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'OID@'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;as&lt;/SPAN&gt; curs&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; row &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; curs&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oid &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; row&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; max_oid &lt;SPAN class="keyword token"&gt;is&lt;/SPAN&gt; None&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; max_oid &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; oid
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;elif&lt;/SPAN&gt; oid &lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; max_oid&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; max_oid &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; oid
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"max_oid for fc2:"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; max_oid


&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;# get count on a feature layer (with where clause)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; where &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"Ellipse = 1"&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; fl1 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;MakeFeatureLayer_management&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fc1&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"flay1"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; where&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; fl2 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;MakeFeatureLayer_management&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fc2&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"flay2"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; where&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cnt1 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; getCount&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fl1&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cnt2 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; getCount&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fl2&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"fl1 has {0} features"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;format&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;cnt1&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"fl2 has {0} features"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;format&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;cnt2&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;


&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;# Cursor on a featurelayer (where clause) with features&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; max_oid &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; None
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;with&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;da&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;SearchCursor&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fl1&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'OID@'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;as&lt;/SPAN&gt; curs&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; row &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; curs&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oid &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; row&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; max_oid &lt;SPAN class="keyword token"&gt;is&lt;/SPAN&gt; None&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; max_oid &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; oid
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;elif&lt;/SPAN&gt; oid &lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; max_oid&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; max_oid &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; oid
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"max_oid for fl1:"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; max_oid


&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;# Cursor on a featureclass (where clause) with features, but without results&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; where &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"Ellipse = -1"&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;# there are no features witch match this where clause&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; max_oid &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; None
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;with&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;da&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;SearchCursor&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fc1&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'OID@'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; where&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;as&lt;/SPAN&gt; curs&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; row &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; curs&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oid &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; row&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; max_oid &lt;SPAN class="keyword token"&gt;is&lt;/SPAN&gt; None&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; max_oid &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; oid
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;elif&lt;/SPAN&gt; oid &lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; max_oid&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; max_oid &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; oid
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"max_oid for fc1 (with where clause, no match):"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; max_oid


&lt;SPAN class="keyword token"&gt;def&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;getCount&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fc&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; int&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;GetCount_management&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fc&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;getOutput&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

&lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; __name__ &lt;SPAN class="operator token"&gt;==&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'__main__'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; main&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This will print:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;fc1 has &lt;SPAN class="number token"&gt;722&lt;/SPAN&gt; features
fc2 has &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt; features
max_oid &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; fc1&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;722&lt;/SPAN&gt;
max_oid &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; fc2&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; None
fl1 has &lt;SPAN class="number token"&gt;361&lt;/SPAN&gt; features
fl2 has &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt; features
max_oid &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; fl1&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;361&lt;/SPAN&gt;
max_oid &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; fc1 &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;with&lt;/SPAN&gt; where clause&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; no match&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; None&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 07:26:48 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132851#M10332</guid>
      <dc:creator>XanderBakker</dc:creator>
      <dc:date>2021-12-11T07:26:48Z</dc:date>
    </item>
    <item>
      <title>Re: how to check if cursor object is empty?</title>
      <link>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132852#M10333</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;As &lt;A href="https://community.esri.com/migrated-users/3100" target="_blank"&gt;Xander Bakker&lt;/A&gt;‌ points out, the geoprocessing tool approach to addressing your issue involves creating a feature layer and counting that, and then passing the feature layer to the search cursor if there are results.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Looking at it from purely a Python perspective, i.e., not involving geoprocessing tools, the major issue with the code provided is that it completely consumes the iterable to determine if there is just one or more records.&amp;nbsp; There are several ways in Python to check if an iterable is empty and then do one thing or another depending on the results.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;One approach that doesn't fully consume the iterable to check for the existence of items&amp;nbsp;uses&amp;nbsp;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;next()&lt;/SPAN&gt; with a sentinel value:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;s_cursor &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;da&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;SearchCursor&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;in_table&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"*"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;with&lt;/SPAN&gt; s_cursor&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; next&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;s_cursor&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; None&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;is&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;not&lt;/SPAN&gt; None&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; s_cursor&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;reset&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; row &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; s_cursor&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt; row
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;else&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"Cursor is empty!"&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Another approach sets the variable for holding what is returned by the iterable to a sentinel value and then checks after processing the iterable to see if anything was processed:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;row &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; None
&lt;SPAN class="keyword token"&gt;with&lt;/SPAN&gt; s_cursor&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; row &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; s_cursor&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt; row
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; row &lt;SPAN class="keyword token"&gt;is&lt;/SPAN&gt; None&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"Cursor is empty!"&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 07:26:51 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132852#M10333</guid>
      <dc:creator>JoshuaBixby</dc:creator>
      <dc:date>2021-12-11T07:26:51Z</dc:date>
    </item>
    <item>
      <title>Re: how to check if cursor object is empty?</title>
      <link>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132853#M10334</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Another one is wrapping the cursor in a generator function and seeing if StopIteration is raised when you request a row.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Aug 2016 21:43:15 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132853#M10334</guid>
      <dc:creator>BruceHarold</dc:creator>
      <dc:date>2016-08-25T21:43:15Z</dc:date>
    </item>
    <item>
      <title>Re: how to check if cursor object is empty?</title>
      <link>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132854#M10335</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Since the cursor itself will raise a StopIteration error if there isn't a row to request, I guess I don't understand the value of wrapping it in a generator function to raise a StopIteration error.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Aug 2016 21:50:54 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132854#M10335</guid>
      <dc:creator>JoshuaBixby</dc:creator>
      <dc:date>2016-08-25T21:50:54Z</dc:date>
    </item>
    <item>
      <title>Re: how to check if cursor object is empty?</title>
      <link>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132855#M10336</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Using a generator function is&amp;nbsp; a pattern I find useful so I thought I would mention it.&lt;/P&gt;&lt;P&gt;Handling StopIteration lets you automate returning something you design, like below I return a dictionary if the cursor is empty or not.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;# Define row generator&lt;BR /&gt;def rowGenerator(table,fields,sortField=None):&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if sortField is not None:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sql = [None,'ORDER BY ' + sortField]&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cursor = arcpy.da.SearchCursor(table,fields,sql_clause=sql)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cursor = arcpy.da.SearchCursor(table,fields)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; with cursor:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for row in cursor:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; yield row&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;# Create row generator&lt;BR /&gt;if postalField:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rowGen = rowGenerator(inTable,cursorFields,postalField)&lt;BR /&gt;else:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rowGen = rowGenerator(inTable,cursorFields)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;# Define recordset builder&lt;BR /&gt;def recordsetBuilder(rowgen):&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; records = []&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for i in range(0,1000):&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data = next(rowgen)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; attributes = {'attributes':{recordFields&lt;I&gt;:data&lt;I&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for i in range(len(data))}}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; records.append(attributes)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; except StopIteration:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return {'records':records}&lt;/I&gt;&lt;/I&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Aug 2016 17:15:38 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/how-to-check-if-cursor-object-is-empty/m-p/132855#M10336</guid>
      <dc:creator>BruceHarold</dc:creator>
      <dc:date>2016-08-26T17:15:38Z</dc:date>
    </item>
  </channel>
</rss>

