Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.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 在mac osx intel和linux AMD中使用numpy fromfile读取未格式化的fortran文件会产生不同的数据_Python_Linux_Macos_Numpy_Fortran - Fatal编程技术网

Python 在mac osx intel和linux AMD中使用numpy fromfile读取未格式化的fortran文件会产生不同的数据

Python 在mac osx intel和linux AMD中使用numpy fromfile读取未格式化的fortran文件会产生不同的数据,python,linux,macos,numpy,fortran,Python,Linux,Macos,Numpy,Fortran,我有一个fortran代码,可以生成未格式化的文件。我用python编写了一个脚本来绘制一些量,并使用numpy fromfile例程从文件中读取数据。在我的笔记本电脑中,它是一台带有OSX 10.9.1 mavericks的MacBook pro,数据读取很好。读取数据的代码段如下所示: fileid = open(file,'rb') hdel = np.fromfile(fileid,dtype='float32',count=1) probtmp = np.fromfile(fileid

我有一个fortran代码,可以生成未格式化的文件。我用python编写了一个脚本来绘制一些量,并使用numpy fromfile例程从文件中读取数据。在我的笔记本电脑中,它是一台带有OSX 10.9.1 mavericks的MacBook pro,数据读取很好。读取数据的代码段如下所示:

fileid = open(file,'rb')
hdel = np.fromfile(fileid,dtype='float32',count=1)
probtmp = np.fromfile(fileid,dtype='float64',count=maxptsr*maxptsz)
现在,我想在另一台机器上使用它,一台AMD x86_64 linux机器。这台机器是x86_64,所以我假设它也是little endian

当我读数据时,我得到了不同的数字。例如,对于笔记本电脑中的一个值,我得到
2.3892744070368817e-32
,而在AMD机器中,我得到
2.6284548901535996e-34


有人知道我为什么会得到不同的数字吗?谢谢。

如果没有任何代码,很难说出问题可能是什么……正如马特莫所说,如果不知道您正在做什么,很难说出问题可能是什么。
fromfile
命令是什么样子的?平台之间可能会有很多非endian的东西发生变化(特别是关于扩展精度浮点-例如
np.longdouble
/
np.float128
/
np.float96
/等等)。对不起,伙计们。我已经编辑了这个问题。创建这个文件的Fortran语句到底是什么?使用顺序存取创建的二进制无格式Fortran输出包含记录长度信息(,或google获取更多链接)。在使用numpy读取数据时,您必须考虑到这一点。您也可以尝试以下方法: