首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从ArcMap运行python脚本

从ArcMap运行python脚本
EN

Stack Overflow用户
提问于 2010-07-16 04:56:17
回答 2查看 2.1K关注 0票数 0

在ESRI的ArcMap中运行python脚本,它使用子进程模块调用另一个python脚本(或者至少尝试调用它)。然而,它执行的系统窗口(DOS窗口)只出现了很短的时间,足以让我看到有一个错误,但走得太快了,我无法真正阅读它,看看是什么错误!

有没有人知道一种“暂停”DOS窗口的方法,或者可能使用python将其输出到一个文件或其他文件中?

下面是我的代码,它调用弹出DOS窗口的脚本,并在其中包含错误:

py_script2="C:\DataDownload\PythonScripts\DownloadAdministrative.py“py_path2="C:\Python25\python.exe”subprocess.call(py_path2,py_script2)

非常感谢!

干杯

EN

回答 2

Stack Overflow用户

发布于 2010-07-16 05:00:28

尝试在脚本末尾执行raw_input()命令(在Python3中是input() )。这将暂停脚本并等待键盘输入。如果脚本引发异常,则需要捕获该异常,然后发出命令。

此外,还有一些方法可以读取命令的stdout和stderr流,请尝试查看http://docs.python.org/library/subprocess.html中的subprocess.Popen参数。

票数 0
EN

Stack Overflow用户

发布于 2010-07-16 05:03:16

subprocess.call接受与Popen相同的参数。请参阅http://docs.python.org/library/subprocess.html

我想你对argument stderr特别感兴趣。也许像这样的东西会有所帮助:

代码语言:javascript
复制
err = fopen('logfile', 'w')
subprocess.call([py_path2, py_script2], stderr=err)
err.close()

如果你直接使用Popen,而不是在call中包装它,你可以做更多的事情。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3259999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档