让我重新表述我之前的问题。我刚刚在 ArcGIS 中使用 pythong 作为脚本语言创建了一个工具。该工具使用 subprocess.popen 执行(运行)外部程序。当我从 ArcGSIS 运行该工具时,会出现一个仅显示以下内容的窗口。
Executing: RunFLOW C:\FLOW C:\FLOW\FLW.bat
Start Time: Mon Nov 30 16:50:37 2009
Running script RunFLOW...
Completed script RuFLOW...
Executed (RunFLOW) successfully.
End Time: Mon Nov 30 16:50:48 2009 (Elapsed Time: 11.00 seconds)
脚本如下
# Import system modules
import sys, string, os, arcgisscripting, subprocess
# Create the Geoprocessor object
gp = arcgisscripting.create()
# Read the parameter values:
# 1: input workspace
prj_fld = gp.GetParameterAsText(0)
Flow_bat = gp.GetParameterAsText(1)
os.chdir(prj_fld)
p=subprocess.Popen(Flow_bat,shell=True,stdout=subprocess.PIPE)
stdout_value = p.communicate()[0]
print '\tstdout:', repr(stdout_value)
当我从命令窗口运行相同的程序时,它会打印一个充满信息的屏幕(日期、迭代次数等)。除了现在正在打印的内容之外,我还想在从 ArcGIS 运行模型后出现的窗口中查看所有这些信息。我尝试了打印、交流、冲洗,但无法做到。有什么建议么?
当我现在运行脚本时,它会运行可执行文件,但会出现如下错误
ERROR 999998: There are no more files.
谢谢