0

这个脚本是对之前发布的脚本的改进,但它仍然给我一个“执行失败(CADToGeodatabase)”的错误它能够遍历目录和子目录,列出 dwg 文件,创建地理数据库但不能由于错误,使用要素数据集和要素类填充它!。请帮忙!

import os, os.path, arcpy
from arcpy import env
env.workspace = "J:/2010"
# Set workspace and variables
gdb = r"C:\data\2010.gdb"
arcpy.env.workspace = gdb
# Create a FileGDB for the fds
arcpy.CreateFileGDB_management("C:/data", "2010.gdb")
reference_scale = "1500"
for root, dirs, files in os.walk("J:/2010/"):
    for file in files:
        if file.endswith('.dwg'):
           print "current file is: " + file
           outDS = arcpy.ValidateTableName(os.path.splitext("d" +  
           os.path.basename(file))[0])
           arcpy.CADToGeodatabase_conversion(file, gdb, outDS, reference_scale)
4

1 回答 1

0

这句话def recursive_file_gen(r"J:\2010"):对我来说看起来很奇怪。我认为您不能在此处放置文字字符串。我很惊讶这完全可以运行。也许你打算做类似def recursive_file_gen(directory=r"J:\2010"):或简单的事情def recursive_file_gen():

另外,我认为这句话yield os.path.join(root, file)需要缩进更多,以便在内部 for 循环中考虑。

我没有具体看到是什么导致脚本仅在一个子目录中工作。我需要更多关于正在发生的事情的细节。

编辑:我没有注意到该recursive_file_gen功能根本没有被使用。我不知道是什么导致了问题。我认为对arcpy更熟悉的人会对你更有帮助。

于 2012-09-11T18:08:32.313 回答