TL;DR:
Windows控制台中没有更新print()
结果。在空闲时执行良好。即使Windows控制台没有更新,程序也在执行。
背景
count = 0
while True:
print ("True")
count += 1
if count == 10:
print ("XXXXXXXXX")
count = 0
上面的代码只是一个测试文件,看看控制台中的打印是否在所有程序中停止,而不是我正在运行的程序。实际上,我的程序打印到控制台,看起来像:
line [10] >> Progress 05%
其中行[10]
不是真的,但我在这里键入的只是向您展示print()
在控制台窗口中发送到该行的内容。当我的程序继续时,它会增加:
line [10] >> Progress 06%
line [10] >> Progress 11%
.
.
.
line [10] >> Progress 50%
每次覆盖行[10]
时。我使用ANSI转义字符和colorama
相应地移动控制台光标:
当打印(“progress”+prog+“%”)
不再显示在控制台中时,发生了一些事情,因为最终会执行下一个Python代码:
行[11]>>程序完成...
我验证了放入文件夹的结果。因此,当控制台没有更新时,程序继续运行。
def check_queue(q, dates, dct):
out = 0
height = 0
# print the initial columns and rows of output
# each cell has a unique id
# so they are stored in a dictionary
# then I convert to list to print by subscripting
for x in range(0, len(list(dct.values())), 3):
print("\t\t".join(list(dct.values())[x:x+3]))
height +=1 # to determine where the top is for cursor
while True:
if out != (len(dates) * 2):
try:
status = q.get_nowait()
dct[status[1]] = status[2]
print('\x1b[1000D\x1b[' + str(height + 1) + 'A')
# since there was a message that means a value was updated
for x in range(0, len(list(dct.values())), 3):
print("\t\t".join(list(dct.values())[x:x+3]))
if status[0] == 'S' or 'C' or 'F':
out += 1
except queue.Empty:
pass
else:
break
这很可能是一种错觉(可能是因为控制台中有最大的行数限制,然后新的行替换了第一行)。
您可以打印
的数量绝对没有限制。您可以通过更改每次迭代的内容来验证这一点,例如,计算迭代次数的循环:
import itertools
for i in itertools.count():
print(i, "True")
我已经在我的gradle文件中启用了来使用ProGuard的特性来混淆代码,结果导致一些错误。 注意:动态创建的类实例有1个类强制转换。您可能会考虑显式保留提到的类和/或它们的实现(使用'-keep')。 警告:有309个未解析的类或接口引用。您可能需要添加丢失的库JAR或更新它们的版本。如果您的代码在没有丢失类的情况下运行良好,则可以使用'-dontwarn'选项抑制警告。(http://pro
我正在尝试创建一个UDP服务器,它可以向所有向其发送消息的客户端发送消息。实际情况稍微复杂一点,但将其想象为聊天服务器是最简单的:以前发送过消息的每个人都会收到其他客户端发送的所有消息。 所有这些都是通过在单独的进程中完成的。(不过,所有网络连接都在同一个系统中,所以我认为UDP的不可靠性在这里不是问题。 服务器代码是这样一个循环(后面是完整的代码): 客户端代码也很简单——同样,这是稍微缩写的,
我的maven版本和信息如下: 如前所述,通过Intellij运行时没有问题。但是当我通过intellij终端或普通终端运行maven命令时,我会得到以下错误。 Maven命令示例。 我的机器上甚至没有java SDK1.5。我可以得到一些帮助在哪里我应该改变这个版本到8这样我可以使一个maven构建请?多谢了。
问题内容: 我正在编写一个PL / SQL过程,该过程需要动态生成一些查询,其中之一涉及使用来自查询的结果作为参数来创建临时表。 它可以正确编译,但是即使使用非常简单的查询,例如: IT抛出。如果我手动运行创建的查询,它将正确运行。在这一点上,我能够确定是什么导致了问题。 问题答案: 尝试丢掉“;” 从您立即执行的字符串内部。
问题内容: 我添加了一个构建步骤来执行Python脚本。 在此脚本中,使用lint.Run(.. args)调用pylint来检查代码。 该脚本可以工作,但是最后,构建失败,并显示唯一的错误消息: 有人知道为什么会这样吗? 问题答案: 看来您的pylint执行退出状态为非零(缺少脚本,错误的选项…),也许您在退出脚本时引发了异常或
问题内容: 在清理这个答案时,我对MySQL和s和存储过程有了一些了解,但感到震惊的是,尽管and 触发器可以修改数据,但它们似乎不会导致插入/更新失败(即验证)。在这种特殊情况下,我可以通过处理数据以导致主键重复的方式来使其工作,这在这种特殊情况下是有道理的,但在一般意义上不一定有意义。 这种功能在MySQL中可行吗?在其他RDBMS中(可悲的是,我的经验仅限于MySQL)?也许是样式语法? 问