空白subprocess.check_输出在Python中

2024-05-12 22:45:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用以下命令清除Redis缓存:

redis-cli -h cacheprod01 EVAL "for i, name in ipairs(redis.call('keys', KEYS[1])) do redis.call('DEL', name); end" 1 39_ras*

当我在Windows命令提示符下运行它时,我得到以下响应:

^{pr2}$

但是,当我尝试使用以下Python代码执行相同的操作时,输出为空,即使代码确实清除了缓存:

import subprocess
output = subprocess.check_output('''redis-cli -h cacheprod01 EVAL "for i, name in ipairs(redis.call('keys', KEYS[1])) do redis.call('DEL', name); end" 1 39_ras*''', shell=True)
print output

我做错什么了?如何使用Python获得响应?我使用的是python2.7。在


Tags: nameinredisforoutputclievalkeys