gpt4 book ai didi

python - Subprocess 语句在 python 控制台中有效,但在 Serverdensity 插件中无效?

转载 作者:太空宇宙 更新时间:2023-11-04 06:39:39 24 4
gpt4 key购买 nike

在 python 控制台中,以下语句工作得非常好(我想以这种方式使用 eval 并不是很好,但在这种情况下它只是用于测试目的,将被适当的解析替换)

$ python
>>> import subprocess
>>> r = subprocess.Popen(['/pathto/plugin1.rb'], stdout=subprocess.PIPE, close_fds=True).communicate()[0]
>>> data = eval(r)
>>> data
{'test': 1}

当我将其转换为 Serverdensity plugin 时但是每次执行插件时它都会使 agent.py 守护程序崩溃。我能够将其缩小到子流程线,但无法找出原因。异常捕获似乎也不起作用。

插件的外观如下:

class plugin1:
def run(self):
r = subprocess.Popen(['/pathto/plugin1.rb'], stdout=subprocess.PIPE, close_fds=True).communicate()[0]
data = eval(r)
return data

我对使用 python 很陌生,无法真正弄清楚为什么这行不通。非常感谢您的想法:)

最佳答案

模块中是否导入了子流程?另外,您遇到了什么错误,可以发布错误消息吗?

关于python - Subprocess 语句在 python 控制台中有效,但在 Serverdensity 插件中无效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2560754/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com