<?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: Is it possible to use a field for the filename of an attachment export? in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/is-it-possible-to-use-a-field-for-the-filename-of/m-p/59224#M4697</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;import arcpy&lt;BR /&gt;from arcpy import da&lt;BR /&gt;import os&lt;/P&gt;&lt;P&gt;inTable = arcpy.GetParameterAsText(0)&lt;BR /&gt;fileLocation = arcpy.GetParameterAsText(1)&lt;/P&gt;&lt;P&gt;with da.SearchCursor(inTable, ['DATA', 'ATT_NAME', 'ATTACHMENTID']) as cursor:&lt;BR /&gt; for item in cursor:&lt;BR /&gt; attachment = item[0]&lt;BR /&gt; filenum = "ATT" + str(item[2]) + "_"&lt;BR /&gt; filename = filenum + str(item[1])&lt;BR /&gt; open(fileLocation + os.sep + filename, 'wb').write(attachment.tobytes())&lt;BR /&gt; del item&lt;BR /&gt; del filenum&lt;BR /&gt; del filename&lt;BR /&gt; del attachment&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;The code is what I used. I posted the wrong code earlier.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 14 Jun 2018 22:02:09 GMT</pubDate>
    <dc:creator>CraigSchellenbach1</dc:creator>
    <dc:date>2018-06-14T22:02:09Z</dc:date>
    <item>
      <title>Is it possible to use a field for the filename of an attachment export?</title>
      <link>https://community.esri.com/t5/python-questions/is-it-possible-to-use-a-field-for-the-filename-of/m-p/59222#M4695</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am able to export photo attachments with the generic script but I would like to name them based on a field on the record they are attached to. The field I would like to use is 'FID' and it's unique to each row in the table. The current code I use is.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;import arcpy&lt;BR /&gt;from arcpy import da&lt;BR /&gt;import os&lt;/P&gt;&lt;P&gt;inTable = arcpy.GetParameterAsText(0)&lt;BR /&gt;fileLocation = arcpy.GetParameterAsText(1)&lt;/P&gt;&lt;P&gt;with da.SearchCursor(inTable, ['DATA', 'ATT_NAME', 'Access Point FQN_ID']) as cursor:&lt;BR /&gt; for item in cursor:&lt;BR /&gt; attachment = item[0]&lt;BR /&gt; filenum = "ATT" + str(item[2]) + "_"&lt;BR /&gt; filename = filenum + str(item[1])&lt;BR /&gt; open(fileLocation + os.sep + filename, 'wb').write(attachment.tobytes())&lt;BR /&gt; del item&lt;BR /&gt; del filenum&lt;BR /&gt; del filename&lt;BR /&gt; del attachment&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Jun 2018 20:46:44 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/is-it-possible-to-use-a-field-for-the-filename-of/m-p/59222#M4695</guid>
      <dc:creator>CraigSchellenbach1</dc:creator>
      <dc:date>2018-06-14T20:46:44Z</dc:date>
    </item>
    <item>
      <title>Re: Is it possible to use a field for the filename of an attachment export?</title>
      <link>https://community.esri.com/t5/python-questions/is-it-possible-to-use-a-field-for-the-filename-of/m-p/59223#M4696</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A href="https://community.esri.com/blogs/dan_patterson/2016/08/14/script-formatting"&gt;/blogs/dan_patterson/2016/08/14/script-formatting&lt;/A&gt; would help make sure there aren't any formatting errors Craig.&lt;/P&gt;&lt;P&gt;Also, I don't see where you added the FID field into the searchcursor.&amp;nbsp; You will need that for your id numbers.&lt;/P&gt;&lt;P&gt;I presume that you haven't tested this yet?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Jun 2018 21:13:38 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/is-it-possible-to-use-a-field-for-the-filename-of/m-p/59223#M4696</guid>
      <dc:creator>DanPatterson_Retired</dc:creator>
      <dc:date>2018-06-14T21:13:38Z</dc:date>
    </item>
    <item>
      <title>Re: Is it possible to use a field for the filename of an attachment export?</title>
      <link>https://community.esri.com/t5/python-questions/is-it-possible-to-use-a-field-for-the-filename-of/m-p/59224#M4697</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;import arcpy&lt;BR /&gt;from arcpy import da&lt;BR /&gt;import os&lt;/P&gt;&lt;P&gt;inTable = arcpy.GetParameterAsText(0)&lt;BR /&gt;fileLocation = arcpy.GetParameterAsText(1)&lt;/P&gt;&lt;P&gt;with da.SearchCursor(inTable, ['DATA', 'ATT_NAME', 'ATTACHMENTID']) as cursor:&lt;BR /&gt; for item in cursor:&lt;BR /&gt; attachment = item[0]&lt;BR /&gt; filenum = "ATT" + str(item[2]) + "_"&lt;BR /&gt; filename = filenum + str(item[1])&lt;BR /&gt; open(fileLocation + os.sep + filename, 'wb').write(attachment.tobytes())&lt;BR /&gt; del item&lt;BR /&gt; del filenum&lt;BR /&gt; del filename&lt;BR /&gt; del attachment&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;The code is what I used. I posted the wrong code earlier.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Jun 2018 22:02:09 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/is-it-possible-to-use-a-field-for-the-filename-of/m-p/59224#M4697</guid>
      <dc:creator>CraigSchellenbach1</dc:creator>
      <dc:date>2018-06-14T22:02:09Z</dc:date>
    </item>
    <item>
      <title>Re: Is it possible to use a field for the filename of an attachment export?</title>
      <link>https://community.esri.com/t5/python-questions/is-it-possible-to-use-a-field-for-the-filename-of/m-p/59225#M4698</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I really didn't find any major problems with your script.&amp;nbsp; For testing, my script was similar:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; os

inTable &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; r&lt;SPAN class="string token"&gt;'C:\Path\to\file.gdb\feature__ATTACH'&lt;/SPAN&gt;
fileLocation &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; r&lt;SPAN class="string token"&gt;'C:\Path\to\attachments'&lt;/SPAN&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;inTable&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'DATA'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'ATT_NAME'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'ATTACHMENTID'&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; 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; item &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; 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; &lt;SPAN class="string token"&gt;"ATT_NAME: {}&amp;nbsp; - ATTACHMENTID: {}"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;format&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;item&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; item&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;2&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; filename &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"ATT_{}_{}"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;format&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;item&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;2&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; item&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt; filename
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; open&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fileLocation &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; os&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;sep &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; filename&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'wb'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;write&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;item&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;tobytes&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;

&lt;SPAN class="keyword token"&gt;del&lt;/SPAN&gt; cursor‍‍‍‍‍‍‍‍‍‍‍‍‍&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;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would suggest testing with some print statements (or AddMessage), to see that&amp;nbsp; your input table and file location strings are being interpreted correctly.&amp;nbsp; For the filename, you might want to start with the attachment ID as the ATT_NAME field may include a file extension.&amp;nbsp; If it does not contain an extension, you may need to look at the CONTENT_TYPE field so your code can append one if necessary.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 22:14:49 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/is-it-possible-to-use-a-field-for-the-filename-of/m-p/59225#M4698</guid>
      <dc:creator>RandyBurton</dc:creator>
      <dc:date>2021-12-10T22:14:49Z</dc:date>
    </item>
    <item>
      <title>Re: Is it possible to use a field for the filename of an attachment export?</title>
      <link>https://community.esri.com/t5/python-questions/is-it-possible-to-use-a-field-for-the-filename-of/m-p/59226#M4699</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I don't know if I explained what I was trying to say earlier. I need a way to save the images and have the filename be the ID of the record they are attached to or have the filename include a field from the record they are attached too. I will give an example.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Record in table is&amp;nbsp;{D40A7E01-4D12-453C-A69E-BEB4E59D9A2C}. The ID in the attachment table is&amp;nbsp;df6ea7eb9fb3464f9313cae304c2b27d.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is this possible to do this or export the relationship table?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 15 Jun 2018 03:24:30 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/is-it-possible-to-use-a-field-for-the-filename-of/m-p/59226#M4699</guid>
      <dc:creator>CraigSchellenbach1</dc:creator>
      <dc:date>2018-06-15T03:24:30Z</dc:date>
    </item>
    <item>
      <title>Re: Is it possible to use a field for the filename of an attachment export?</title>
      <link>https://community.esri.com/t5/python-questions/is-it-possible-to-use-a-field-for-the-filename-of/m-p/59227#M4700</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The record for the attachment should contain the global ID of the&amp;nbsp;linked/master record&amp;nbsp;in one of the fields.&amp;nbsp; As shown my example code, you can work it into the file name.&amp;nbsp; If the master record can have multiple attachments, you will need to use some sort of count, perhaps the attachment ID, to make a unique filename.&amp;nbsp; You will want to append a file extension which could be obtained from splitting the filename at the dot in your code or by using the data in the content type field to create an extension.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you want to&amp;nbsp;create a filename using data from the master record other than&amp;nbsp;the global/linking ID field, you should be able to do that by using some sort of join with the master table or creating a dictionary of the master record feature/table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I will work on a code sample later today or this weekend that illustrates this.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 15 Jun 2018 16:45:37 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/is-it-possible-to-use-a-field-for-the-filename-of/m-p/59227#M4700</guid>
      <dc:creator>RandyBurton</dc:creator>
      <dc:date>2018-06-15T16:45:37Z</dc:date>
    </item>
    <item>
      <title>Re: Is it possible to use a field for the filename of an attachment export?</title>
      <link>https://community.esri.com/t5/python-questions/is-it-possible-to-use-a-field-for-the-filename-of/m-p/59228#M4701</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This will get filename&amp;nbsp;information from the master feature class and save an attachment in a related table.&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; arcpy

masterFC &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; r&lt;SPAN class="string token"&gt;"C:\Path\to\file.gdb\masterFC"&lt;/SPAN&gt;
masterFlds &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'GlobalID'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'Name'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;# Use list comprehension to build a dictionary from a da SearchCursor&amp;nbsp; &lt;/SPAN&gt;
masterDict &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;r&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="punctuation token"&gt;(&lt;/SPAN&gt;r&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&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; &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; r &lt;SPAN class="keyword token"&gt;in&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;masterFC&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; masterFlds&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;

&lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt; masterDict

relatedTbl &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; r&lt;SPAN class="string token"&gt;'C:\Path\to\file.gdb\related_ATTACH'&lt;/SPAN&gt;
relatedFlds &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'REL_GLOBALID'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'ATT_NAME'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'DATA'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;

fileLocation &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; r&lt;SPAN class="string token"&gt;'C:\Path\to\attachments'&lt;/SPAN&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;relatedTbl&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; relatedFlds&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;as&lt;/SPAN&gt; 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; item &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; 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="comment token"&gt;# item[0] is related GlobalID; take first item in masterDict tuple with that key&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; f1 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; masterDict&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;item&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="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;replace&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="string token"&gt;"_"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;# replacing spaces&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;# assuming attachment name starts with "attachment", remove that part and keep rest&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; f2 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; item&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;10&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;# can use .split('.')[1:] or similar to get just extension&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;# make new filename &lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; filename &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"ATT_{}_{}"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;format&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;f1&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; f2&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; filename
&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; open&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fileLocation &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; os&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;sep &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; filename&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'wb'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;write&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;item&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;2&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;tobytes&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;

&lt;SPAN class="keyword token"&gt;del&lt;/SPAN&gt; cursor‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍&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;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This assumes that the master feature class&amp;nbsp;contains some attributes&amp;nbsp;like:&lt;/P&gt;&lt;P&gt;&lt;IMG alt="Master Feature Class" class="image-1 jive-image j-img-original" src="https://community.esri.com/legacyfs/online/411543_masterFC.png" /&gt;&lt;/P&gt;&lt;P&gt;And the related attachments table is something like:&lt;/P&gt;&lt;P&gt;&lt;IMG alt="Attachment Table" class="image-2 jive-image j-img-original" src="https://community.esri.com/legacyfs/online/411544_attachTbl.png" /&gt;&lt;/P&gt;&lt;P&gt;The dictionary and filenames created are:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;# print masterDict

{u'{B0174984-E7EB-47EA-A49A-9D535CFD6125}': (u'State Office Building',), u'{43902175-71ED-47DB-BCC8-6C805D930D23}': (u'State Capitol',)}

# print filename

ATT_State_Capitol_1.jpg
ATT_State_Capitol_2.jpg
ATT_State_Office_Building_1.jpg‍‍‍‍‍‍‍&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;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 22:14:52 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/is-it-possible-to-use-a-field-for-the-filename-of/m-p/59228#M4701</guid>
      <dc:creator>RandyBurton</dc:creator>
      <dc:date>2021-12-10T22:14:52Z</dc:date>
    </item>
    <item>
      <title>Re: Is it possible to use a field for the filename of an attachment export?</title>
      <link>https://community.esri.com/t5/python-questions/is-it-possible-to-use-a-field-for-the-filename-of/m-p/59229#M4702</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Randy! That is exactly what I needed!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 16 Jun 2018 00:44:56 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/is-it-possible-to-use-a-field-for-the-filename-of/m-p/59229#M4702</guid>
      <dc:creator>CraigSchellenbach1</dc:creator>
      <dc:date>2018-06-16T00:44:56Z</dc:date>
    </item>
    <item>
      <title>Re: Is it possible to use a field for the filename of an attachment export?</title>
      <link>https://community.esri.com/t5/python-questions/is-it-possible-to-use-a-field-for-the-filename-of/m-p/59230#M4703</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;So I've been following these instructions. This is my code:&lt;/P&gt;&lt;P&gt;----------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;import arcpy&lt;/P&gt;&lt;P&gt;masterFC = r"C:\Users\kameehan\OneDrive - Westwood Active Directory\Documents\Project_Documents\UI_Railroad\Shapefiles\Observations_FGDB\UI_Walkdown_Observations.gdb\Observations"&lt;BR /&gt;masterFlds = ['GlobalID', 'NAME']&lt;BR /&gt;# Use list comprehension to build a dictionary from a da SearchCursor &lt;BR /&gt;masterDict = {r[0]:(r[1:]) for r in arcpy.da.SearchCursor(masterFC, masterFlds)}&lt;/P&gt;&lt;P&gt;print(masterDict)&lt;/P&gt;&lt;P&gt;relatedTbl = r'C:\Users\kameehan\OneDrive - Westwood Active Directory\Documents\Project_Documents\UI_Railroad\Shapefiles\Observations_FGDB\UI_Walkdown_Observations.gdb\Observations_ATTACH'&lt;BR /&gt;relatedFlds = ['REL_GLOBALID', 'ATT_NAME', 'DATA']&lt;/P&gt;&lt;P&gt;fileLocation = r'C:\Users\kameehan\OneDrive - Westwood Active Directory\Documents\Project_Documents\UI_Railroad\Shapefiles\Observations_FGDB\UI_Walkdown_Observations.gdb\Observations_ATTACH'&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;with arcpy.da.SearchCursor(relatedTbl, relatedFlds) as cursor:&lt;BR /&gt; for item in cursor:&lt;/P&gt;&lt;P&gt;# item[0] is related GlobalID; take first item in masterDict tuple with that key&lt;BR /&gt; f1 = masterDict[item[0]][0].replace(" ","_") # replacing spaces&lt;BR /&gt; # assuming attachment name starts with "attachment", remove that part and keep rest&lt;BR /&gt; f2 = item[1][10:] # can use .split('.')[1:] or similar to get just extension&lt;BR /&gt; # make new filename &lt;BR /&gt; filename = "ATT_{}_{}".format(f1, f2)&lt;BR /&gt; print (filename)&lt;BR /&gt; &lt;BR /&gt; open(fileLocation + os.sep + filename, 'wb').write(item[2].tobytes())&lt;/P&gt;&lt;P&gt;del cursor&lt;/P&gt;&lt;P&gt;---------------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;and I keep getting this error:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;SPAN class="" style="color: #de2900; background-color: #ffffff; text-decoration: none; padding: 0px 0px 0.25rem;"&gt;Traceback (most recent call last):   File "C:\Users\kameehan\OneDrive - Westwood Active Directory\Documents\ExportAttachments2.py", line 16, in &amp;lt;module&amp;gt;     with arcpy.da.SearchCursor(relatedTbl, relatedFlds) as cursor: RuntimeError: cannot open 'C:\Users\kameehan\OneDrive - Westwood Active Directory\Documents\Project_Documents\UI_Railroad\Shapefiles\Observations_FGDB\UI_Walkdown_Observations.gdb\Observations_ATTACH'&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;SPAN class="" style="color: #333333; background-color: #ffffff; margin: 0px 4px 0px 0px; padding: 0px 0px 0.25rem;"&gt;&lt;/SPAN&gt;&lt;SPAN class="" style="color: #de2900; background-color: #ffffff; text-decoration: none; padding: 0px 0px 0.25rem;"&gt;Failed to execute (ExportAttachments2).

&lt;/SPAN&gt;And I'm not sure how to fix it or what is wrong. As in why won't it open that file path?&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 22:14:54 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/is-it-possible-to-use-a-field-for-the-filename-of/m-p/59230#M4703</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2021-12-10T22:14:54Z</dc:date>
    </item>
    <item>
      <title>Re: Is it possible to use a field for the filename of an attachment export?</title>
      <link>https://community.esri.com/t5/python-questions/is-it-possible-to-use-a-field-for-the-filename-of/m-p/59231#M4704</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A href="https://community.esri.com/people/rvburton"&gt;rvburton&lt;/A&gt;&amp;nbsp;Please let me know if you have any clue, or might need more information to potentially help, if you could! &lt;IMG src="https://community.esri.com/legacyfs/online/emoticons/happy.png" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Aug 2020 17:59:33 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/is-it-possible-to-use-a-field-for-the-filename-of/m-p/59231#M4704</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2020-08-13T17:59:33Z</dc:date>
    </item>
    <item>
      <title>Re: Is it possible to use a field for the filename of an attachment export?</title>
      <link>https://community.esri.com/t5/python-questions/is-it-possible-to-use-a-field-for-the-filename-of/m-p/59232#M4705</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I would use ArcCatalog to verify that the path and name of the attachment table is correct.&amp;nbsp; My initial guess is that the attachment table's name is actually '...\Observations__ATTACH' (with 2 underscore characters).&amp;nbsp; It appears that you are using only one underscore between Observations and ATTACH.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Aug 2020 23:26:06 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/is-it-possible-to-use-a-field-for-the-filename-of/m-p/59232#M4705</guid>
      <dc:creator>RandyBurton</dc:creator>
      <dc:date>2020-08-13T23:26:06Z</dc:date>
    </item>
  </channel>
</rss>

