我有一个简单的python脚本,可以休眠5秒钟。我在后台运行脚本。在调用睡眠功能之前,我有一条小字样。但是除非我手动按Enter键,否则我将无法获得提示。当我评论打印状态时,我会得到提示。 不过,在两种情况下该脚本都会进入后台。
import time
print("going to sleep")
time.sleep(5)
当我运行带有打印语句的脚本时,没有得到提示。
USER-M-L0DD:Downloads user$python3 sleep.py &
[1] 10993
USER-M-L0DD:Downloads user$ going to sleep
我必须在此处手动按Enter键以返回提示。
在没有打印语句的情况下运行它,我会得到提示。
USER-M-L0DD:Downloads user$ python3 sleep.py &
[1] 11588
USER-M-L0DD:Downloads user$
答案 0 :(得分:0)
当我运行带有print语句的脚本时,没有得到 提示回来。
USER-M-L0DD:Downloads user$ python3 sleep.py &
[1] 10993
USER-M-L0DD:Downloads user$ going to sleep
^^^^^
there is your prompt
我必须在此处手动按Enter键以返回提示。
然后我想它看起来像这样:
USER-M-L0DD:Downloads user$ python3 sleep.py &
[1] 10993
USER-M-L0DD:Downloads user$ going to sleep
USER-M-L0DD:Downloads user$
您实际上会收到另一个提示。
答案 1 :(得分:0)
这是预期的。您确实会得到提示。它盯着你的脸:
USER-M-L0DD:Downloads user$python3 sleep.py &
[1] 10993
USER-M-L0DD:Downloads user$ going to sleep
^^^^^^^^^^^^^^^^^^^^^^^^^^^^ < Look: there is your prompt
发生的事情是,当python脚本运行时,它还将其输出发送到控制台,并在提示后 打印。但是外壳仍然坐在那里等待您的输入。
没有print语句,则不会向控制台输出任何内容,因此提示后您将看不到任何其他输出。