3

我在 python 中编写了一段代码,将光栅文件转换为 ascii。现在,我需要让它处理文件夹中的所有文件。此外,最后保存 ascii 文件,其名称与添加后缀的原始文件名称相同。我是 python 的新手,我保证我做了我的功课,我不能自己做批处理。任何帮助将不胜感激!

import arcpy
from arcpy import env
env.workspace = "C:/Data"
inRaster = ("test.img")
outASCII = "c:/output/test3.asc"
arcpy.RasterToASCII_conversion(inRaster, outASCII)
4

2 回答 2

6

试试这个:

import os
dir_name = ...
for filename in os.listdir(dir_name):
    if not filename.endswith(".img"): continue
    full_path = os.path.join(dir_name, filename)
    outASCII = '%s.asc' % (full_path,)
    arcpy.RasterToASCII_conversion(full_path, outASCII)

.img它获取以目录结尾的所有文件名dir_name并将其传递给您的转换函数。

于 2012-09-12T21:57:10.927 回答
0

尝试以下

import arcpy
arcpy.env.workspace = 'c:/data'

listOfImgs = arcpy.ListRasters('*.img')
for imageFile in listOfImgs:
    outASCII = '%s.asc' % (imageFile,)
    arcpy.RasterToASCII_conversion(imageFile, outASCII)
于 2012-09-14T18:05:11.773 回答