【发布时间】:2016-07-16 13:07:34
【问题描述】:
例如,如果我有一个 python 脚本 test.py 包含
import time
print 'foo'
time.sleep(5)
print 'bar'
time.sleep(5)
和一个shell脚本run_test.sh包含
#!/usr/bin/env bash
python test.py
然后从 PyCharm (2016.1) 中运行后者(例如使用“运行”菜单项)不会打印任何输出,直到整个脚本完成(大约 10 秒后)。
有没有办法在我的 shell 脚本运行时打印输出?
【问题讨论】:
-
print('foo', flush=True)有帮助吗? -
什么 PyCharm 版本?我根本无法重现。
-
@raxacoricofallapatorius:啊,Python 2,错过了,抱歉。
import sys在顶部,然后是sys.stdout.flush()在每个打印语句之后。 -
将
export PYTHONUNBUFFERED=1添加到shell脚本? -
@Will:是的,这也有效。无论是那个还是
-u都可以解决问题。
标签: python bash python-2.7 output pycharm