<?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: Using Model Builder, how to define directory while using a Python script? in ModelBuilder Questions</title>
    <link>https://community.esri.com/t5/modelbuilder-questions/using-model-builder-how-to-define-directory-while/m-p/772803#M3144</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;sys.argv[1] - will return you the value of first parameter. In my above example it'll return the value set for the parameter Source.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 14 Aug 2014 22:27:47 GMT</pubDate>
    <dc:creator>RiyasDeen</dc:creator>
    <dc:date>2014-08-14T22:27:47Z</dc:date>
    <item>
      <title>Using Model Builder, how to define directory while using a Python script?</title>
      <link>https://community.esri.com/t5/modelbuilder-questions/using-model-builder-how-to-define-directory-while/m-p/772798#M3139</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have a model (shown below) in which at the very end of it I run a Python script ('SumFieldInsertNew'). One issue I'm having is that I'm creating this model for an end-user that will have little to no knowledge of most things computer-wise. Ergo, I'm trying to make it as hassle-free and flexible as possible. My question is, I want the user to be able to name the file the script will run itself on, but am unsure of how to do something like this. So essentially, I want to make 'Empty FC' a parameter in which the user can decide what they want their file to be named. Then have the Python script directory code (where it's defining the feature class), know that whatever the user named it is conditional to it being able to run its processes. I appreciate any help and suggestions, thank you!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG __jive_id="3409" alt="oNhpE.jpg" class="jive-image image-1" src="https://community.esri.com/legacyfs/online/3409_oNhpE.jpg" style="width: 620px; height: 172px;" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;&lt;STRONG&gt;My model runs as follows&lt;/STRONG&gt;&lt;/SPAN&gt;:&lt;/P&gt;&lt;P&gt;1. It establishes a connection to an Oracle dB&lt;/P&gt;&lt;P&gt;2. It creates a Query Layer based on the pre-filled 'Query' parameter&lt;BR /&gt;3. It creates an empty feature class (Empty FC) into a pre-filled GdB parameter&lt;BR /&gt;4. It then exectures the 'Copy Features' tool on the Query Layer and outputs the copy into the Empty FC&lt;BR /&gt;5. This newly populated feature class is then given a new field, called 'SUM_Quantity_Solid'&lt;/P&gt;&lt;P&gt;6. In which lastly, this new field is populated via the Python script 'SUM_FIELD_INSERT_NEW', which (as seen below), SUMs up a field and then inserts the values.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;

&lt;SPAN class="kwd"&gt;&amp;nbsp; import&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; arcpy &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; 
&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="com"&gt;# Define the feature class&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; fc &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; r&lt;/SPAN&gt;&lt;SPAN class="str"&gt;'User_Defined_Path'&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; 
&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="com"&gt;# find the unique 'id' values&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="typ"&gt;Slist&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; list&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;()&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="kwd"&gt;for&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; row &lt;/SPAN&gt;&lt;SPAN class="kwd"&gt;in&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; arcpy&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;da&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="typ"&gt;SearchCursor&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;fc&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="str"&gt;'id'&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;):&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="com"&gt;# if the value isn't in the list then add it to the list&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="kwd"&gt;if&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="kwd"&gt;not&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; row&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;[&lt;/SPAN&gt;&lt;SPAN class="lit"&gt;0&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;]&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="kwd"&gt;in&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="typ"&gt;Slist&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="typ"&gt;Slist&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;append&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;row&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;[&lt;/SPAN&gt;&lt;SPAN class="lit"&gt;0&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;])&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; 
&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="kwd"&gt;for&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="typ"&gt;Value&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="kwd"&gt;in&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="typ"&gt;Slist&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="com"&gt;# definition query to limit the rows in the cursor&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="typ"&gt;DefQ&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="str"&gt;'id = '&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;+&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; str&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="typ"&gt;Value&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;)&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; 
&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="com"&gt;# Use a generator expression to populate a list from the 'QUANTITY_SOLID' field&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; sum&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;row&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;[&lt;/SPAN&gt;&lt;SPAN class="lit"&gt;0&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;]&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="kwd"&gt;for&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; row &lt;/SPAN&gt;&lt;SPAN class="kwd"&gt;in&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; arcpy&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;da&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="typ"&gt;SearchCursor&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;fc&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="str"&gt;'QUANTITY_SOLID'&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="typ"&gt;DefQ&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;))&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; 
&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="kwd"&gt;with&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; arcpy&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;da&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="typ"&gt;UpdateCursor&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;fc&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;[&lt;/SPAN&gt;&lt;SPAN class="str"&gt;'SUM_Quantity_Solid'&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;],&lt;/SPAN&gt;&lt;SPAN class="typ"&gt;DefQ&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;)&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="kwd"&gt;as&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; cursor&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="kwd"&gt;for&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; row &lt;/SPAN&gt;&lt;SPAN class="kwd"&gt;in&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; cursor&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
&lt;/SPAN&gt;&lt;SPAN class="pln"&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; row&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;[&lt;/SPAN&gt;&lt;SPAN class="lit"&gt;0&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;]&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; b
&lt;/SPAN&gt;&lt;SPAN class="pln"&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; cursor&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;updateRow&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;row&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;)&lt;/SPAN&gt;








&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As referenced, I would like to be able to have&lt;/P&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;&lt;P&gt;fc = r'User_Defined_Path'&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;be what the user initially defined the 'EMPTY FC' filename parameter as.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 08:38:56 GMT</pubDate>
      <guid>https://community.esri.com/t5/modelbuilder-questions/using-model-builder-how-to-define-directory-while/m-p/772798#M3139</guid>
      <dc:creator>LanceWilson</dc:creator>
      <dc:date>2021-12-12T08:38:56Z</dc:date>
    </item>
    <item>
      <title>Re: Using Model Builder, how to define directory while using a Python script?</title>
      <link>https://community.esri.com/t5/modelbuilder-questions/using-model-builder-how-to-define-directory-while/m-p/772799#M3140</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Lance,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Create a String parameter for feature class name and use it in your "Create Feature Class" process as "Feature Class Name" to create an empty feature class. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Set input parameter for your script tool of type feature class&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG alt="Untitled.png" class="jive-image image-1" src="https://community.esri.com/legacyfs/online/3435_Untitled.png" style="height: auto;" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Access the input parameter in your script line 3 as &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #000000; font-size: 12px; font-family: Consolas, 'Courier New', Courier, mono, serif;"&gt;fc = str(sys.argv[1])&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Aug 2014 23:28:10 GMT</pubDate>
      <guid>https://community.esri.com/t5/modelbuilder-questions/using-model-builder-how-to-define-directory-while/m-p/772799#M3140</guid>
      <dc:creator>RiyasDeen</dc:creator>
      <dc:date>2014-08-13T23:28:10Z</dc:date>
    </item>
    <item>
      <title>Re: Using Model Builder, how to define directory while using a Python script?</title>
      <link>https://community.esri.com/t5/modelbuilder-questions/using-model-builder-how-to-define-directory-while/m-p/772800#M3141</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Riyas,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Thank you very much for your help! I haven't had a chance to try your solution yet but will do so. Can you please explain to me what the 'sys.argv' is referencing?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Aug 2014 19:20:52 GMT</pubDate>
      <guid>https://community.esri.com/t5/modelbuilder-questions/using-model-builder-how-to-define-directory-while/m-p/772800#M3141</guid>
      <dc:creator>LanceWilson</dc:creator>
      <dc:date>2014-08-14T19:20:52Z</dc:date>
    </item>
    <item>
      <title>Re: Using Model Builder, how to define directory while using a Python script?</title>
      <link>https://community.esri.com/t5/modelbuilder-questions/using-model-builder-how-to-define-directory-while/m-p/772801#M3142</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You could use the Calculate Value tool to do this, providing the feature class input as an argument to a function. This avoids the overhead and hassle of setting up a script tool.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Aug 2014 19:26:41 GMT</pubDate>
      <guid>https://community.esri.com/t5/modelbuilder-questions/using-model-builder-how-to-define-directory-while/m-p/772801#M3142</guid>
      <dc:creator>curtvprice</dc:creator>
      <dc:date>2014-08-14T19:26:41Z</dc:date>
    </item>
    <item>
      <title>Re: Using Model Builder, how to define directory while using a Python script?</title>
      <link>https://community.esri.com/t5/modelbuilder-questions/using-model-builder-how-to-define-directory-while/m-p/772802#M3143</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;@ Curtis -&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could you please expound on this a little bit? I apologize I'm just trying to wrap my head around the thought process behind this. As you can see in my model picture below, I have no clue what to do next lol... Thank you!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG alt="test.jpg" class="jive-image image-1" src="https://community.esri.com/legacyfs/online/3481_test.jpg" style="width: 620px; height: 214px;" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Aug 2014 20:52:24 GMT</pubDate>
      <guid>https://community.esri.com/t5/modelbuilder-questions/using-model-builder-how-to-define-directory-while/m-p/772802#M3143</guid>
      <dc:creator>LanceWilson</dc:creator>
      <dc:date>2014-08-14T20:52:24Z</dc:date>
    </item>
    <item>
      <title>Re: Using Model Builder, how to define directory while using a Python script?</title>
      <link>https://community.esri.com/t5/modelbuilder-questions/using-model-builder-how-to-define-directory-while/m-p/772803#M3144</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;sys.argv[1] - will return you the value of first parameter. In my above example it'll return the value set for the parameter Source.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Aug 2014 22:27:47 GMT</pubDate>
      <guid>https://community.esri.com/t5/modelbuilder-questions/using-model-builder-how-to-define-directory-while/m-p/772803#M3144</guid>
      <dc:creator>RiyasDeen</dc:creator>
      <dc:date>2014-08-14T22:27:47Z</dc:date>
    </item>
    <item>
      <title>Re: Using Model Builder, how to define directory while using a Python script?</title>
      <link>https://community.esri.com/t5/modelbuilder-questions/using-model-builder-how-to-define-directory-while/m-p/772804#M3145</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;To use the Calculate Value tool, instead of a script tool, you set things up as a function that reads your input feature class path from a model element, for example:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Expression: &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;f(r"%SUM_Quantity_Solid%")&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The "r" is important because the path will probably have backslashes in it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Code block:&lt;/STRONG&gt;&lt;/P&gt;&lt;PRE __default_attr="python" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_14081368456012451" jivemacro_uid="_14081368456012451" modifiedtitle="true"&gt;
&lt;P&gt;import arcpy &lt;/P&gt;
&lt;P&gt;def f(fc)&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # find the unique 'SEGMENT_LENGTH' values &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Slist = list() for row in arcpy.da.SearchCursor(fc, 'SEGMENT_LENGTH'): &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # if the value isn't in the list then add it to the list &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if not row[0] in Slist: &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Slist.append(row[0]) &lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for Value in Slist: &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # definition query to limit the rows in the cursor &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DefQ = 'SEGMENT_LENGTH = ' + str(Value) &lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Use a generator expression to populate a list from the 'QUANTITY_SOLID' field &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b = sum(row[0] for row in arcpy.da.SearchCursor(fc, 'QUANTITY_SOLID'),DefQ) &lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; with arcpy.da.UpdateCursor(fc, ['QUANTITY_SOLID_SUM'],DefQ) as cursor: &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for row in cursor: &lt;/P&gt;
&lt;P&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; row[0] = b &lt;/P&gt;
&lt;P&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; cursor.updateRow(row) &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return fc&lt;/P&gt;




&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;UPDATE: one more thing - you need to set up your input fc as a precondition to your Calculate Value tool to make sure the fc is ready to be processed when the Calculate Value runs.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you want to go the python script route you need to set up the script tool with parameters as described in the desktop help. If you do this the parameters will pop up and connect in ModelBuilder just like any other tool.&lt;/P&gt;&lt;P&gt;&lt;A href="http://resources.arcgis.com/en/help/main/10.2/index.html#/Understanding_script_tool_parameters/00150000002s000000/" title="http://resources.arcgis.com/en/help/main/10.2/index.html#/Understanding_script_tool_parameters/00150000002s000000/"&gt;ArcGIS Help (10.2, 10.2.1, and 10.2.2)&lt;/A&gt;‌&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 15 Aug 2014 21:37:59 GMT</pubDate>
      <guid>https://community.esri.com/t5/modelbuilder-questions/using-model-builder-how-to-define-directory-while/m-p/772804#M3145</guid>
      <dc:creator>curtvprice</dc:creator>
      <dc:date>2014-08-15T21:37:59Z</dc:date>
    </item>
    <item>
      <title>Re: Using Model Builder, how to define directory while using a Python script?</title>
      <link>https://community.esri.com/t5/modelbuilder-questions/using-model-builder-how-to-define-directory-while/m-p/772805#M3146</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I wonder if the code is correct. Seems to me there are a few strange things going on. On the next line there are two brackets missing:&lt;/P&gt;&lt;PRE __default_attr="python" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_14081618580788057" jivemacro_uid="_14081618580788057" modifiedtitle="true"&gt;
&lt;P&gt;b = sum(row[0] for row in arcpy.da.SearchCursor(fc, 'QUANTITY_SOLID'),DefQ) &lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;should probably be:&lt;/P&gt;&lt;PRE __default_attr="python" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_14081622016978406" jivemacro_uid="_14081622016978406"&gt;
&lt;P&gt;b = sum([row[0] for row in arcpy.da.SearchCursor(fc, ('QUANTITY_SOLID'),DefQ)])&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;First to create a list of unique values in a field you can do that on a single line like this:&lt;/P&gt;&lt;PRE __default_attr="python" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_14081616912318839" jivemacro_uid="_14081616912318839" modifiedtitle="true"&gt;
&lt;P&gt;# find the unique 'SEGMENT_LENGTH' values, maybe use SHAPE@LENGTH instead?&lt;/P&gt;
&lt;P&gt;lst_seglen = list(set([row[0] for row in arcpy.da.SearchCursor(fc, ('SEGMENT_LENGTH'))]))&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would probably do it differently and use a dictionary to store the unique length vs the sum of the Quantity Solid. Next a simple update cursor to store the results.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="python" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_14081620544625729" jivemacro_uid="_14081620544625729"&gt;
&lt;P&gt;def f(fc):&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dct = {}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; flds = ('SEGMENT_LENGTH', 'QUANTITY_SOLID')&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; with arpy.da.SearchCursor(f, flds) as curs:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for row in curs:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if row[0] in dct:&lt;/P&gt;
&lt;P&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; dct[row[0]] += row[1]&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else:&lt;/P&gt;
&lt;P&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; dct[row[0]] = row[1]&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; flds = ('SEGMENT_LENGTH', 'QUANTITY_SOLID_SUM')&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; with arcpy.da.UpdateCursor(fc, flds) as curs:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for row in curs:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if row[0] in dct:&lt;/P&gt;
&lt;P&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; row[1] = dct[row[0]]&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else:&lt;/P&gt;
&lt;P&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; row[1] = 0 # should not occur&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cursor.updateRow(row)&lt;/P&gt;
&lt;P&gt;&amp;nbsp; return fc&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It still sounds strange to look for unique segment lengths and sum values for each unique length. Normally you see this the other way (sum length for a unique value)...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 16 Aug 2014 04:10:47 GMT</pubDate>
      <guid>https://community.esri.com/t5/modelbuilder-questions/using-model-builder-how-to-define-directory-while/m-p/772805#M3146</guid>
      <dc:creator>XanderBakker</dc:creator>
      <dc:date>2014-08-16T04:10:47Z</dc:date>
    </item>
    <item>
      <title>Re: Using Model Builder, how to define directory while using a Python script?</title>
      <link>https://community.esri.com/t5/modelbuilder-questions/using-model-builder-how-to-define-directory-while/m-p/772806#M3147</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;@ Xander Bakker -&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I made a mistake and posted an earlier version of the script, it is supposed to be '(fc, 'QUANTITY_SOLID',DefQ))' -&lt;/P&gt;&lt;P&gt;but otherwise the code works as I need it to, although It may very well not be the most efficient way possible.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As for it 'sounding strange', I have a particular reason for looking for a unique segment length and wanting to SUM up the 'QUANTITY_SOLID' values in order to get a total. This is because each unique segment length corresponds to a particular road segment, whereas there is no other column in which to identify it by such other than the length (as all of the same road segments will be the exact length).&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 18 Aug 2014 15:20:09 GMT</pubDate>
      <guid>https://community.esri.com/t5/modelbuilder-questions/using-model-builder-how-to-define-directory-while/m-p/772806#M3147</guid>
      <dc:creator>LanceWilson</dc:creator>
      <dc:date>2014-08-18T15:20:09Z</dc:date>
    </item>
    <item>
      <title>Re: Using Model Builder, how to define directory while using a Python script?</title>
      <link>https://community.esri.com/t5/modelbuilder-questions/using-model-builder-how-to-define-directory-while/m-p/772807#M3148</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Lance,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As long as you know what you need, there is no problem whatsoever on summarizing on unique length.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Good luck, Xander&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 18 Aug 2014 18:03:04 GMT</pubDate>
      <guid>https://community.esri.com/t5/modelbuilder-questions/using-model-builder-how-to-define-directory-while/m-p/772807#M3148</guid>
      <dc:creator>XanderBakker</dc:creator>
      <dc:date>2014-08-18T18:03:04Z</dc:date>
    </item>
    <item>
      <title>Re: Using Model Builder, how to define directory while using a Python script?</title>
      <link>https://community.esri.com/t5/modelbuilder-questions/using-model-builder-how-to-define-directory-while/m-p/772808#M3149</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Great, thank you so much for your help Curtis!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Aug 2014 15:17:11 GMT</pubDate>
      <guid>https://community.esri.com/t5/modelbuilder-questions/using-model-builder-how-to-define-directory-while/m-p/772808#M3149</guid>
      <dc:creator>LanceWilson</dc:creator>
      <dc:date>2014-08-27T15:17:11Z</dc:date>
    </item>
  </channel>
</rss>

