Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从二进制文件中提取和排序数据_Python_Sorting_Math_Binary_Sequences - Fatal编程技术网

Python 从二进制文件中提取和排序数据

Python 从二进制文件中提取和排序数据,python,sorting,math,binary,sequences,Python,Sorting,Math,Binary,Sequences,所以我刚开始了一门python编程课程,我有一个叫做“风数据分析”的作业,在这个作业中,我要从bin.file文件中提取数据,并将其排序为x、y和z值。到目前为止,我得到了: filename="turb21351_L72u.bin" with open(filename,'br') as f: buffer = f.read(100000) print("Length of buffer is %d" % len(buffer)) for i in buffer: print(i

所以我刚开始了一门python编程课程,我有一个叫做“风数据分析”的作业,在这个作业中,我要从bin.file文件中提取数据,并将其排序为x、y和z值。到目前为止,我得到了:

filename="turb21351_L72u.bin"
with open(filename,'br') as f: 

buffer = f.read(100000)
print("Length of buffer is %d" % len(buffer))

for i in buffer:
    print(int(i))
这很好(注意,我在这里写的脚本中有一些缩进错误),给我的值在1到300之间

问题在于对数据进行排序。作业的描述如下:

“数据文件由Nz X Ny X Nx数字(浮点单精度)组成。数字序列对应于索引 z、 y和x分别从1依次增加到Nz、Ny和Nx,变化最快的指数是z,其次是y,变化最慢的指数是x,即, 序列中的第一个Nz数字对应于从1到Nz、y=1和x=1的索引z。根据此排序规则,函数必须将数据转换为尺寸为Nz x Ny x Nx的三维数组。”

我的问题是:


如何从数学上理解赋值描述,以及如何根据排序规则对其进行排序?

您可以尝试使用以下代码:

filename="turb21351_L72u.bin"
with open(filename,'br') as f:
    buffer = f.read(100000)
print("Length of buffer is %d" % len(buffer))

for i in buffer:
    print(int(i))
在python中,在处理非托管资源(如文件流)时使用
with
关键字。
with
语句的工作方式类似于块语句,需要缩进

发件人:

with
语句澄清了以前将使用
try…finally
块来确保执行清理代码的代码。在本节中,我将讨论该语句,因为它通常会被使用。在下一节中,我将检查实现细节,并展示如何编写与此语句一起使用的对象

with
语句是一种控制流结构,其基本结构为:

with expression [as variable]:
    with-block
表达式将被计算,它将生成一个支持上下文管理协议的对象(即,具有
\uuuuuu enter\uuuuuuu()
\uuuuuu exit\uuuuuuu()
方法)


我试过你的建议,但它只是给了我一个很长的数字序列。我对接收数字数组感兴趣。