... for fd in fdList: ... arcpy.env.workspace = wksp+'/'+fd ... fcList = arcpy.ListFeatureClasses() ... txtFile.write (fd) ... txtFile.write(os.linesep) ... for fc in fcList: ... arcpy.env.workspace = wksp+'/'+fd+'/'+fc ... fields = arcpy.ListFields(arcpy.env.workspace) ... txtFile.write(' '+fc) ... txtFile.write(os.linesep) ... for field in fields: ... fieldname = field.name ... txtFile.write(fieldname) ... txtFile.write(os.linesep) ... #close file ... txtFile.close() ... print "done"
Solved! Go to Solution.
>>> import io ... import arcpy ... from arcpy import env ... import os ... env.workspace = r"Database Connections\Direct Connect Editor User.sde" ... fdList = arcpy.ListDatasets() ... wksp = "Database Connections\Direct Connect Editor User.sde" ... arcpy.env.workspace = wksp ... with io.open(r"C:\Desktop\List.txt", "w", encoding="utf-8") as txtFile: ... for fd in fdList: ... arcpy.env.workspace = wksp+'/'+fd ... fcList = arcpy.ListFeatureClasses() ... txtFile.write (fd) ... txtFile.write(os.linesep) ... for fc in fcList: ... arcpy.env.workspace = wksp+'/'+fd+'/'+fc ... fields = arcpy.ListFields(arcpy.env.workspace) ... txtFile.write(' '+fc) ... txtFile.write(os.linesep) ... for field in fields: ... txtFile.write(field.name) ... txtFile.write(os.linesep) ... #close file ... txtFile.close() ... print "done" ... Runtime error Traceback (most recent call last): File "<string>", line 19, in <module> TypeError: must be unicode, not str
>>> import arcpy ... from arcpy import env ... import os ... env.workspace = r"Database Connections\Direct Connect Editor User.sde" ... fdList = arcpy.ListDatasets() ... wksp = "Database Connections\Direct Connect Editor User.sde" ... arcpy.env.workspace = wksp ... txtFile = open(r"C:\Desktop\List.txt","w") ... for fd in fdList: ... arcpy.env.workspace = wksp+'/'+fd ... fcList = arcpy.ListFeatureClasses() ... txtFile.write (fd) ... txtFile.write(os.linesep) ... for fc in fcList: ... arcpy.env.workspace = wksp+'/'+fd+'/'+fc ... fields = arcpy.ListFields(arcpy.env.workspace) ... txtFile.write(' '+fc) ... txtFile.write(os.linesep) ... for field in fields: ... fieldname = field.name.encode("utf-8") ... txtFile.write(fieldname) ... txtFile.write(os.linesep) ... #close file ... txtFile.close() ... print "done"
import io with io.open(myfile, "w", encoding="utf-8") as txtFile: for fd in fdList: arcpy.env.workspace = wksp+'/'+fd fcList = arcpy.ListFeatureClasses() txtFile.write(fd) txtFile.write(os.linesep) for fc in fcList: arcpy.env.workspace = wksp+'/'+fd+'/'+fc fields = arcpy.ListFields(arcpy.env.workspace) txtFile.write(u' '+fc) txtFile.write(os.linesep) for field in fields: fieldname = field.name txtFile.write(fieldname) txtFile.write(os.linesep) print "done"
>>> import io ... import arcpy ... from arcpy import env ... import os ... env.workspace = r"Database Connections\Direct Connect Editor User.sde" ... fdList = arcpy.ListDatasets() ... wksp = "Database Connections\Direct Connect Editor User.sde" ... arcpy.env.workspace = wksp ... with io.open(r"C:\Desktop\List.txt", "w", encoding="utf-8") as txtFile: ... for fd in fdList: ... arcpy.env.workspace = wksp+'/'+fd ... fcList = arcpy.ListFeatureClasses() ... txtFile.write (fd) ... txtFile.write(os.linesep) ... for fc in fcList: ... arcpy.env.workspace = wksp+'/'+fd+'/'+fc ... fields = arcpy.ListFields(arcpy.env.workspace) ... txtFile.write(' '+fc) ... txtFile.write(os.linesep) ... for field in fields: ... txtFile.write(field.name) ... txtFile.write(os.linesep) ... #close file ... txtFile.close() ... print "done" ... Runtime error Traceback (most recent call last): File "<string>", line 19, in <module> TypeError: must be unicode, not str
>>> import arcpy ... from arcpy import env ... import os ... env.workspace = r"Database Connections\Direct Connect Editor User.sde" ... fdList = arcpy.ListDatasets() ... wksp = "Database Connections\Direct Connect Editor User.sde" ... arcpy.env.workspace = wksp ... txtFile = open(r"C:\Desktop\List.txt","w") ... for fd in fdList: ... arcpy.env.workspace = wksp+'/'+fd ... fcList = arcpy.ListFeatureClasses() ... txtFile.write (fd) ... txtFile.write(os.linesep) ... for fc in fcList: ... arcpy.env.workspace = wksp+'/'+fd+'/'+fc ... fields = arcpy.ListFields(arcpy.env.workspace) ... txtFile.write(' '+fc) ... txtFile.write(os.linesep) ... for field in fields: ... fieldname = field.name.encode("utf-8") ... txtFile.write(fieldname) ... txtFile.write(os.linesep) ... #close file ... txtFile.close() ... print "done"