我在python中有一个关于定义流的问题:
def testCommandA () :
waitForResult = testCommandB ()
if result != '' :
print 'yay'
有没有办法让waitForResult等待testCommandB返回一些东西(不只是一个空字符串)?有时testCommandB不会产生任何内容(空字符串),我不想传递空字符串,但是当我在waitForResult中得到一个字符串时,testCommandA将继续运行。有可能吗?
提前致谢
答案 0 :(得分:3)
# Start with an empty string so we run this next section at least once
result = ''
# Repeat this section until we get a non-empty string
while result == '':
result = testCommandB()
print("result is: " + result)
请注意,如果testCommandB()
未阻止,则会导致100%的CPU利用率,直到完成为止。检查之间的另一个选项是sleep。这个版本每十分之一秒检查一次:
import time
result = ''
while result == '':
time.sleep(0.1)
result = testCommandB()
print("result is: " + result)
答案 1 :(得分:1)
只是从testCommandB
返回它不是空字符串的地方。即,testCommandB
阻止,直到它具有有意义的值。