Python中文
首页
教程
问答
标签
搜索
登录
注册
python无法从n打印未打包的浮点
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我尝试从UDP数据报获取浮动并打印它们以验证:</p> <pre><code>import socket from struct import * socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) socket.bind( ('127.0.0.1', 2416) ) msg = bytearray( 4*1024 ) f1 = 0.0 f2 = 0.0 f3 = 0.0 while True: nBytes = socket.recv_into( msg ) print( '%d bytes received' % nBytes ) (f1) = unpack_from( '!f', msg, 0 ) (f2) = unpack_from( '!f', msg, 4 ) (f3) = unpack_from( '!f', msg, 8 ) print( '%f, %f, %f received' % ( f1, f2, f3 )) </code></pre> <p>引发以下错误:</p> ^{pr2}$ <p>预期的输出是<code>1.2, 3.4, 5.6 received</code>。在</p> <p>上下文:</p> <pre><code>Python 3.3.0 (v3.3.0:bd8afb90ebf2, Sep 29 2012, 10:57:17) [MSC v.1600 64 bit (AMD64)] on win32 </code></pre> <p>有关Java UDP发送方(客户端)的信息:</p> <pre><code>import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.nio.ByteBuffer; public class Client { public static void main( String[] args ) throws Exception { try( DatagramSocket clientSocket = new DatagramSocket()) { InetAddress target = InetAddress.getByName( "localhost" ); ByteBuffer msg = ByteBuffer.allocate( 4*1024 ); for(;;) { msg.clear(); msg.putFloat( 1.20f ); msg.putFloat( 3.40f ); msg.putFloat( 5.60f ); msg.putDouble( 7.80 ); msg.putDouble( 9.10 ); msg.putDouble( 11.120 ); msg.flip(); clientSocket.send( new DatagramPacket( msg.array(), msg.limit(), target, 2416 )); Thread.sleep( 2000 ); } } } } </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>这条线就是问题所在:</p> <pre><code>(f1) = unpack_from( '!f', msg, 0 ) </code></pre> <p>试试看</p> ^{pr2}$ <p>注意附加的逗号。其他两行也一样。在</p> <p>如您所述,<code>unpack_from</code>返回一个元组。<code>(f1)</code>不是元组,它是单个值。<code>(f1,)</code>是一个包含一个元素的元组。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何提高Djang的410误差
6 回答
如何提高doc2vec模型中两个文档(句子)的余弦相似度?
1 回答
如何提高Docker的日志限制?|[输出已剪裁,达到日志限制100KiB/s]
6 回答
如何提高DQN的性能?
3 回答
如何提高EasyOCR的准确性/预测?
7 回答
如何提高Euler#39项目解决方案的效率?
1 回答
如何提高F1成绩进行分类
2 回答
如何提高FaceNet的准确性
2 回答
如何提高fft处理的精度?
1 回答
如何提高Fibonacci实现对大n的精度?
3 回答
如何提高Flask与psycopg2的连接时间
5 回答
如何提高FosterCauer变换的scipy.signal.invres()的数值稳定性?
9 回答
如何提高gae查询的性能?
2 回答
如何提高GANs用于时间序列预测/异常检测的结果
7 回答
如何提高gevent和tornado组合的性能?
6 回答
如何提高googleappengin请求日志的吞吐量
2 回答
如何提高googlevision文本识别的准确性
9 回答
如何提高groupby/apply效率
1 回答
如何提高Gunicorn中的请求率
7 回答
如何提高G中的文件编码转换
7 回答