上面代码运行错误:Traceback (most recent call last): File "D:\实验\一键删除所有字段.py", line 6, in <module> NameError: name 'fc' is not defined 执行(脚本1)失败。请改正代码
时间: 2024-01-31 20:10:00 浏览: 116
浅谈Python traceback的优雅处理
这个错误是因为没有从工具箱中传递要素类参数到脚本中,因此代码无法读取要素类路径。您需要通过工具箱中的参数传递要素类路径到脚本中。
请按照以下步骤操作:
1. 在工具箱中创建一个脚本工具,并将以下代码复制到脚本编辑器中:
```python
import arcpy
# 从工具参数中获取要素类路径
fc = arcpy.GetParameterAsText(0)
# 获取所有字段的列表
fields = arcpy.ListFields(fc)
# 循环删除每个字段
for field in fields:
arcpy.DeleteField_management(fc, field.name)
```
2. 在脚本工具的“Parameters”选项卡中添加一个参数,类型为“Feature Class”,名称为“Input Feature Class”。
3. 保存脚本工具,将其添加到工具箱中,并在工具箱中运行该工具。
4. 在运行工具时,选择要删除所有字段的要素类作为“Input Feature Class”参数的值。
这样,您就可以传递要素类路径到脚本中,并成功删除所有字段。
阅读全文