2016-06-09 112 views
0

我不与外壳famililar但我必须从一个Python文件运行此命令:蟒蛇失败运行卷曲XDELETE shell命令

curl -XDELETE 'localhost:9200/event/_query?pretty' -d '{"query" : { "range" : { "int_timestamp" : { "lte" : "2016-06-09 08:55:10" } } } }' 

从我使用os.popen来执行命令的文件。我也尝试过使用os.system。在这两种情况下,它给我以下错误:

(23) Failed writing body 

但是,当我在shell中运行此命令,它工作完美。

我错了什么? 感谢您的帮助!

编辑: 我不知道为什么,因为我没有改变什么。但现在它与os.system而不是os.popen一起工作。

无论如何感谢您的帮助!

+2

你能告诉我们你的python尝试吗?无论如何,你有关于错误这里的好信息http://stackoverflow.com/questions/16703647/why-curl-return-and-error-23-failed-writing-body –

+0

在我的python文件我使用这个命令:'os .popen('curl -XDELETE \'localhost:9200/event/_query?pretty \'-d \'{“query”:{“range”:{“int_timestamp”:{“lte”:''+ stdate +'“ }}}} \'')' – Melody

回答

0

错误(23) Failed writing body表示您在关闭文件描述符之前未正确等待curl输出其数据。这可以通过后os.popen()

os.system没有要求read()可以做的伎俩引起的,但它似乎并不像您可以检索它的标准输出。