相关疑难解决方法(0)

为什么`print`内容不能在终端中立即显示?

我有一个用于仿真的python脚本,一个for循环要花很长时间,每个循环要花不同的时间,因此我.在每个循环后打印一个,以监视它运行的速度和经过的时间。for脚本运行时的声明。

for something:
    do something
    print '.',
Run Code Online (Sandbox Code Playgroud)

但是,当我在终端中的iPython中运行脚本时,点并不会一一打印,而是在循环结束时一次打印所有点,这使整个过程变得毫无意义。如何在运行时内联打印点?

python macos terminal ipython

5
推荐指数
1
解决办法
7405
查看次数

调用serve_forever()时打印语句不起作用?

我有以下小python脚本来运行本地服务器来测试一些html:

print('opened')

from http.server import HTTPServer, SimpleHTTPRequestHandler

server_address = ('', 8000)
httpd = HTTPServer(server_address, SimpleHTTPRequestHandler)

print("Listening at https://127.0.0.1:8000/ . . .")
httpd.serve_forever()
Run Code Online (Sandbox Code Playgroud)

当我在终端中运行它时,它会阻止print语句:没有打印.但服务器工作,我可以localhost:8000在浏览器中访问我的html文件.但是,如果我注释掉最后一行,则调用serve_forever(),它可以打印"打开"和"收听https:127.0.0.1:8000 /"..'.当然,它实际上并不起作用,因为现在服务器没有运行.

我觉得这很混乱.前一行在最后一行之前执行.为什么最后一行会导致前一行不起作用?

Windows7上的Python3,如果有人要问,但我怀疑这是相关的.

python simplehttpserver python-3.x

2
推荐指数
3
解决办法
2389
查看次数

标签 统计

python ×2

ipython ×1

macos ×1

python-3.x ×1

simplehttpserver ×1

terminal ×1