批处理重投影工具,创建一个没有值的变量

2024-09-29 19:32:28 发布

您现在位置:Python中文网/ 问答频道 /正文

这是学校的项目。关于这个项目的问题已经在这里发表过(https://www.e-education.psu.edu/geog485/node/131)。在

我的老师为全班提供了Python代码来插入我们的脚本。本质上它是从文件名中删除“.shp”,然后附加_投影.shp“后来。以下是我在脚本中提供的代码:

    rootName = ""
    if currentFC.endswith(".shp"):
        rootName = currentFC[:-4]
        newFC = str(rootName) + "_projected.shp" 

Python不喜欢rootName变量的值(IOError:“”不存在)。 既然这段代码是给我的,我就认为它是可行的,但我也可能犯了一个菜鸟的错误,以为变量应该是这样声明的。在

如果需要的话,我可以提供剩下的脚本

回溯如下:

回溯(最近一次呼叫): 文件“C:\Python27\ArcGIS10.1\Lib\site packages\pythonWin\Lib\site packages\pythonWin\pywin\framework\脚本utils.py,第325行,在RunScript中 在maindict_ 文件“C:\Users\dan and kathryn\Desktop\school\programming\project2\project2.py”,第15行,在 目标描述=阿奇比。描述一下(targetFC) 文件“C:\Program Files(x86)\ArcGIS\Desktop10.1\arcpy\arcpy_UuInit_U;.py”,第1190行,在“描述”中 返回gp.描述(值) 文件“C:\Program Files(x86)\ArcGIS\Desktop10.1\arcpy\arcpy\geoprocessing_基准.py“描述”中的第374行 自我_gp.描述(*gp_fixargs(args,True))) IOError:“”不存在


Tags: 文件项目代码py脚本libpackagessite
1条回答
网友
1楼 · 发布于 2024-09-29 19:32:28

我认为没有理由将rootName声明为"",只是说rootName = currentFC[:-4]就足够了,特别是如果您只在newFC = str(rootName) + "_projected.shp"行使用rootName,那么下面的代码来替换您当前的代码应该可以。在

if currentFC.endswith(".shp"):
    rootName = currentFC[:-4]
    newFC = str(rootName) + "_projected.shp" 

相关问题 更多 >

    热门问题