[python] 求助。popen 使第三方应用异常退出

fzc115100 2013-08-01 01:50:36
写了一个脚本 调用买来的一些exe 配上参数 执行之。

大部分的exe 被python调用都没有问题。但其中一个exe 被调用之后,会提前退出(python没有退出,是那个exe退出了,这样我就得不到想要的结果了),返回值 -1.
也就是说 是我的脚本 使我调用的exe产生了异常。但我不清楚为什么。

从逻辑上看我脚本没有问题。但不清楚是否和python的运行机制有关。和内存是否有关呢?
PPipe = subprocess.Popen(cmd,stdout=subprocess.PIPE)
我把cmd里面的内容考到 命令行中运行,是可以的,但是就python popen 调用不行。请问各位大侠 为什么?

另外,这个问题 除了在csdn,放到哪里好呢?
...全文
216 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ImN1 2013-08-01
  • 打赏
  • 举报
回复
引用 5 楼 fzc115100 的回复:
我个人的理解,close之后 应该会清空缓存的吧?
应该不是即时的
ImN1 2013-08-01
  • 打赏
  • 举报
回复
不知道,我除了io模块,都没用flush()
fzc115100 2013-08-01
  • 打赏
  • 举报
回复
我个人的理解,close之后 应该会清空缓存的吧?
fzc115100 2013-08-01
  • 打赏
  • 举报
回复
引用 2 楼 snmr_com 的回复:
被调用的exe如果有输出,要注意输出的编码
问题解决了,在执行之前 曾经很频繁的写一个文件。 在close 之前加了一句话 filehandle.flush() filehandle.close() 其实我也是凭感觉加的,但是 为什么 我也不清楚,您能解释一下吗?
fzc115100 2013-08-01
  • 打赏
  • 举报
回复
引用 2 楼 snmr_com 的回复:
被调用的exe如果有输出,要注意输出的编码
谢谢。 有输出,但是并没有新发现。 因为,1 从一家公司买来的exe,大部分是好用的,我猜测和输出编码没有关系。您觉得呢?
ImN1 2013-08-01
  • 打赏
  • 举报
回复
被调用的exe如果有输出,要注意输出的编码
fzc115100 2013-08-01
  • 打赏
  • 举报
回复
另外,曾经单独写了一个文件 将cmd里面的内容写死,调用。成功了。 那么也就是说,并不是python 解释器的问题 而是,我写的脚本的问题。 但是 我的脚本 除了 win32com之外,并没有调用其他的非标准库里面的模块,应该没什么问题啊。 脚本本身也不大,就四百多行。怎么会出现这样的问题呢?

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧