AttributeError: '模块'对象没有'Describe'属性

1 投票
2 回答
3935 浏览
提问于 2025-04-17 21:11

我刚开始学习Python。为了上课,我在网上查了一些新材料,复制粘贴了一些例子来看看它们是怎么工作的。所以,我从这个网站(https://www.e-education.psu.edu/geog485/node/54)上复制了关于“GIS模型中的循环”的代码。

import arcpy

try:
    arcpy.env.workspace = "C:\Users\dan and kathryn\Desktop\school\programming\Lesson1"

    fcList = arcpy.ListFeatureClasses()


    for featureClass in fcList:
        arcpy.CopyFeatures_management (featureClass, "C:\Users\dan and kathryn\Desktop\school\programming\Lesson 2\PracticeData/" + featureClass)
except:
    print "Script failed to complete"
    print arcpy.GetMessages(2)

这是我遇到的错误信息:

Traceback (most recent call last):
  File "C:\Python27\ArcGIS10.1\Lib\site-packages\pythonWin\Lib\site-packages\pythonwin\pywin\framework\scriptutils.py", line 325, in RunScript
    exec codeObject in __main__.__dict__
  File "C:\Users\dan and kathryn\Desktop\loops_gis.py", line 1, in <module>
    import arcpy
  File "C:\Users\dan and kathryn\Desktop\arcpy.py", line 5, in <module>
    desc = arcpy.Describe(featureClass)
AttributeError: 'module' object has no attribute 'Describe'

我联系了我的老师,他写了一段代码发给我,但我们写的代码完全一样。所有的反斜杠、缩进,除了文件夹的位置都一样。我不知道发生了什么,但他怀疑这个问题可能不仅仅是我代码里的问题。

我已经修改了pythonWin中的site-packages文件夹,现在里面包含:

# .pth file for the PyWin32 extensions
win32
win32\lib
Pythonwin
C:\Program Files (x86)\ArcGIS\Desktop10.1\bin
C:\Program Files (x86)\ArcGIS\Desktop10.1\arcpy
C:\Program Files (x86)\ArcGIS\Desktop10.1\ArcToolbox\Scripts

我不太明白发生了什么,为什么“Describe”会出现在问题中。

2 个回答

1

每次写路径字符串的时候,记得用 r"路径字符串" 这种写法。这样可以解决反斜杠和斜杠的问题。当你需要连接多个路径的时候,记得使用 'os' 模块。

0

这是我需要更改的内容(都是在反斜杠里面,我之前完全不知道):

arcpy.env.workspace = "C:/Users/dan and kathryn/Desktop/school/programming/Lesson1"

还有

arcpy.CopyFeatures_management (featureClass, "C:\Users\dan and kathryn\Desktop\school\programming\Lesson 2\PracticeData/" + featureClass)

撰写回答