Python Arcpy更新光标IO错误“;";不存在
我编写了这个快速脚本,以根据包围它们的等高线查找测深多边形的最小深度:Python Arcpy更新光标IO错误“;";不存在,python,arcpy,Python,Arcpy,我编写了这个快速脚本,以根据包围它们的等高线查找测深多边形的最小深度: # Import system modules import arcpy import arcpy.da # Set environment settings arcpy.env.workspace = "C:\Working" area ="conta" line = "contl" for i in area: arcpy.SelectLayerByLocation_management(line, 'in
# Import system modules
import arcpy
import arcpy.da
# Set environment settings
arcpy.env.workspace = "C:\Working"
area ="conta"
line = "contl"
for i in area:
arcpy.SelectLayerByLocation_management(line, 'intersect', area)
arcpy.SelectLayerByAttribute_management(line, 'subset_selection',
"""[DEPTH] in (SELECT min( [DEPTH] ) FROM contl)""")
cursor = arcpy.UpdateCursor(i)
for row in cursor:
row.setValue('DEPTHMIN',row.getValue(line['DEPTH']))
cursor.updateRow(row)
del cursor
选择工作正常,但当我尝试通过更新游标运行实例时,会出现以下错误:
Traceback (most recent call last):
File "<string>", line 30, in <module>
File "c:\program files (x86)\arcgis\desktop10.2\arcpy\arcpy\__init__.py", line 1199, in UpdateCursor
return gp.updateCursor(dataset, where_clause, spatial_reference, fields, sort_fields)
File "c:\program files (x86)\arcgis\desktop10.2\arcpy\arcpy\geoprocessing\_base.py", line 364, in updateCursor
self._gp.UpdateCursor(*gp_fixargs(args, True)))
IOError: "c" does not exist
回溯(最近一次呼叫最后一次):
文件“”,第30行,在
文件“c:\program files(x86)\arcgis\desktop10.2\arcpy\arcpy\\uuuuu init\uuuuuu.py”,第1199行,在UpdateCursors中
返回gp.updateCursor(数据集、where_子句、空间_引用、字段、排序_字段)
文件“c:\program files(x86)\arcgis\desktop10.2\arcpy\arcpy\geoprocessing\\u base.py”,第364行,在UpdateCursors中
self.\u gp.updateCursors(*gp\u fixargs(args,True)))
IOError:“c”不存在
我不确定Python要找的
“c”
是什么。问题就在这里:arcpy.env.workspace=“c:\Working”
您需要做的是:
arcpy.env.workspace=r“C:\Working”
或
arcpy.env.workspace=“C:/Working”
编辑:
你的第一个线索是这是一个IO错误。它无法将(O部分)输出到环境路径。这可能是由于许多原因造成的,但在您的例子中,是包含转义字符
\
的路径把整个事情搞砸了。因此,您需要使用正斜杠/
,或者在字符串前面放一个r
,以向解释器表明它应该作为原始
字符串处理 问题就在这里:arcpy.env.workspace=“C:\Working”
您需要做的是:
arcpy.env.workspace=r“C:\Working”
或
arcpy.env.workspace=“C:/Working”
编辑:
你的第一个线索是这是一个IO错误。它无法将(O部分)输出到环境路径。这可能是由于许多原因造成的,但在您的例子中,是包含转义字符
\
的路径把整个事情搞砸了。因此,您需要使用正斜杠/
,或者在字符串前面放一个r
,以向解释器表明它应该作为原始
字符串处理 问题就在这里:arcpy.env.workspace=“C:\Working”
您需要做的是:
arcpy.env.workspace=r“C:\Working”
或
arcpy.env.workspace=“C:/Working”
编辑:
你的第一个线索是这是一个IO错误。它无法将(O部分)输出到环境路径。这可能是由于许多原因造成的,但在您的例子中,是包含转义字符
\
的路径把整个事情搞砸了。因此,您需要使用正斜杠/
,或者在字符串前面放一个r
,以向解释器表明它应该作为原始
字符串处理 问题就在这里:arcpy.env.workspace=“C:\Working”
您需要做的是:
arcpy.env.workspace=r“C:\Working”
或
arcpy.env.workspace=“C:/Working”
编辑:
你的第一个线索是这是一个IO错误。它无法将(O部分)输出到环境路径。这可能是由于许多原因造成的,但在您的例子中,是包含转义字符\
的路径把整个事情搞砸了。因此,您需要使用正斜杠/
,或者在字符串前面放一个r
,以向解释器表明它应该作为原始
字符串处理 主要问题在于:
area ="conta"
for i in area:
area
是一个字符串,所以当您对字符串对象中的i使用时,您将迭代字符串中的“字符”。迭代的第一步是字母“c”,它不作为数据源存在
路径问题也必须解决。主要问题如下:
area ="conta"
for i in area:
area
是一个字符串,所以当您对字符串对象中的i使用时,您将迭代字符串中的“字符”。迭代的第一步是字母“c”,它不作为数据源存在
路径问题也必须解决。主要问题如下:
area ="conta"
for i in area:
area
是一个字符串,所以当您对字符串对象中的i使用时,您将迭代字符串中的“字符”。迭代的第一步是字母“c”,它不作为数据源存在
路径问题也必须解决。主要问题如下:
area ="conta"
for i in area:
area
是一个字符串,所以当您对字符串对象中的i使用时,您将迭代字符串中的“字符”。迭代的第一步是字母“c”,它不作为数据源存在
路径问题也必须解决