用于列出所有dwg文件并将其转换为地理数据库的脚本

时间:2012-09-11 17:55:11

标签: python-2.7

此脚本是对之前发布的脚本的改进,但确实如此 仍然给我一个错误“执行失败(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)

1 个答案:

答案 0 :(得分: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更熟悉的人会对你更有帮助。