我正在使用Scapy的sniff
函数来读取pcap文件中的数据包。
pkt=sniff(offline="a.pcap",count=1)[0]
在pkt.time
的IDLE中,我能够获得数据包的时间戳,即1431063004.998014
。但是当我尝试将时间戳转换为包含str(pkt.time)
或pkt.time
而不是print pkt.time
的字符串时,我会1431063005.0
,我只会decimal
。
是否可以将精确的时间戳值作为字符串?
注意:
我查看了git submodule foreach git pull origin master
模块。但这需要精确数字。如果不知道数字的数字,那就无济于事了。
答案 0 :(得分:4)
repr
是另一种类似str
的方法,它可以精确地转换整个浮点数。无需导入decimal
或任何其他内容。像使用str
一样使用它,它只返回一个str
对象。
>>> x = repr(pkt.time)
>>> type(x)
>>> <type 'str'>
答案 1 :(得分:2)
试试这个:
"{:.6f}".format(pkt.time)
答案 2 :(得分:0)
试试这个:
"{:.6f}".format(pkt.time)