[英]Getting extra lines Python print output?
Python 新手。 我制作了一个脚本来捕获活动窗口标题并将其打印到控制台。 我添加了时间戳和用户。 这是我所拥有的
import win32gui
import datetime
import getpass
user = getpass.getuser()
windowTile = "";
while ( True ) :
newWindowTile = win32gui.GetWindowText(win32gui.GetForegroundWindow());
if(newWindowTile != windowTile) :
ts = datetime.datetime.now()
windowTile = newWindowTile
line =str(ts) + ' ' + user + ' ' + newWindowTile
#line = newWindowTile
print(line)
输出如下
2020-09-03 13:34:16.075329 Eric Spyder (Python 3.8)
2020-09-03 13:34:18.208329 Eric
2020-09-03 13:34:18.279376 Eric COM5 - PuTTY
2020-09-03 13:34:18.877347 Eric
2020-09-03 13:34:18.955382 Eric Spyder (Python 3.8)
2020-09-03 13:34:19.592409 Eric
2020-09-03 13:34:19.631369 Eric COM5 - PuTTY
为什么我会得到带有空白信息的额外行输出?
当您在窗口之间切换时,说 Alt-Tab,然后它会短暂地循环到“桌面”窗口,该窗口很可能没有名称。 只需在两个窗口之间单击,我认为您不会看到这些行。
假设您想忽略它,或任何其他没有标题的内容,那么您可以使用if newWindowTitle
来查看该新字符串是否为非空
newWindowTile = win32gui.GetWindowText(win32gui.GetForegroundWindow());
if newWindowTitle and newWindowTile != windowTile:
ts = datetime.datetime.now()
windowTile = newWindowTile
line =str(ts) + ' ' + user + ' ' + newWindowTile
#line = newWindowTile
print(line)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.