我正在尝试抓取802.11信标并打印出来。打印将添加一行,而stdout在通道前后添加随机空格作为前缀。有什么办法让这条线在没有新线的情况下向左齐平?在
def beacon_sniff(pkt):
try:
sta_oui = pkt.addr2[0:8] # Grab vendor OUI of BSSID
if pkt.subtype == 8:
if pkt.addr2 not in ap:
if pkt.info != "\x00\x00\x00\x00\x00\x00\x00\x00": #Filter out hidden SSID's
ap.append(pkt.addr2)
#print '{0:<7} \t {1:<32} \t {2:<20} \t {3:<10} \t {4:<10}'.format(int(ord(pkt[5].info)), pkt.info, pkt.addr2, -(256-ord(pkt[0].notdecoded[-4:-3])), get_vendor(sta_oui))
sys.stdout.write("{0:<7} \t {1:<32} \t {2:<20} \t {3:<10} \t {4:<10}".format(int(ord(pkt[5].info)), pkt.info, pkt.addr2, -(256-ord(pkt[0].notdecoded[-4:-3])), get_vendor(sta_oui)))
sys.stdout.flush()
except:
pass
标准输出:
^{pr2}$打印:
6 TALKTALK-F148E8...
6 BTHub3-Z3KP...
1 BTWifi-X...
返回使用
print
函数。要防止它在末尾添加新行,请在print语句的末尾加一个逗号。在这两行打印:
但这是在同一行打印的:
^{pr2}$之所以有“random”空格,是因为您在输出字符串中使用了
\t
。大多数终端中的那个字符将移动到下一个8的倍数。在这意味着有时添加一个单独的空间最终会增加7个空间。在
相关问题 更多 >
编程相关推荐