Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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打开Unix可执行文件?_Python_Unix_Attributes_Byte_Binaryfiles - Fatal编程技术网

如何使用Python打开Unix可执行文件?

如何使用Python打开Unix可执行文件?,python,unix,attributes,byte,binaryfiles,Python,Unix,Attributes,Byte,Binaryfiles,很抱歉,这可能是一个简单的问题,但我正在尝试使用Python打开一个Unix可执行文件,但它没有附加任何文件扩展名。文件名类似于“filename\u bib”。我打了这个,它成功了: hdulist = open('filename_bib') 但是接下来当我输入hdulist.info()或hdulist.shape()时,它没有给我任何信息,所以我检查了它的所有属性,并尝试了print(type())和hdulist.attribute?对于每个属性,但我并不真正理解其中的任何解释,因

很抱歉,这可能是一个简单的问题,但我正在尝试使用Python打开一个Unix可执行文件,但它没有附加任何文件扩展名。文件名类似于“filename\u bib”。我打了这个,它成功了:

hdulist = open('filename_bib') 
但是接下来当我输入hdulist.info()或hdulist.shape()时,它没有给我任何信息,所以我检查了它的所有属性,并尝试了print(type())和hdulist.attribute?对于每个属性,但我并不真正理解其中的任何解释,因此我实际上尝试键入所有属性,以查看它们会给我什么,但在某个点上,它开始给我错误,其中显示:

ValueError: I/O operation on closed file
因此,我认为这可能是在我尝试使用hdulist.close()或hdulist.close()时发生的,但我不知道(1)尝试任何属性是否是错误的,(2)它是否以某种方式改变了我原始文件的任何内容,以及(3)如何修复它

有人告诉我,这个文件包含字节,我应该能够用Python显示其中的图片,但这是我第一次处理Unix可执行文件,我完全不知道如何启动。我以前处理过fits和pl文件,但这是我第一次尝试打开类似的东西。我已经试着在网上查了很多东西,但是我找不到任何说明。如果你知道这件事,请帮帮我。如果你能给我任何帮助,我将非常感激

这是我在Sublime中打开它时显示的内容:

因为python中的默认文件访问模式是“只读”。从技术上讲,因为您在命令中没有提到任何访问模式

hdulist = open('filename_bib')
文件应仅用于读取,打开的文件不应发生任何变化

问题: 您是否尝试过在UNIX中运行它

./filename_bib

输出结果是什么?

我不知道是否有用。在Unix上,没有m$world意义上的扩展。更确切地说,文件名可以任意长,并且可以包含任意多的点。整个过程都是文件名的一部分。操作系统与文件有什么关系,取决于它的第一个字节,它的名称是不相关的。嗨!谢谢你伸出援手。我意识到这是一个二进制文件,所以我尝试查找有关如何打开和读取二进制文件的详细信息,到目前为止我已经完成了:strfile=r'filename',open(strfile,'br')为f:byte=f.read()byte_string=str(int(byte))(很抱歉,我上面的回答看起来很奇怪。这是我第一次使用堆栈溢出,所以(1)我不知道如何“输入”进入下一行;因此,在上面的代码中,连续的、单独的回复)和(2)我的代码没有正确的缩进),我不确定是否仍然将字节文件转换为整数对我有意义。我的最终目标是以某种方式显示该文件中的图像,并确定该图像的像素值。我一直在网上阅读更多的信息,我想我需要先弄清楚文件的大小,但我还不知道怎么做。你知道怎么进行吗?嗨!谢谢你伸出援手。我意识到这是一个二进制文件,所以我尝试查找有关如何打开和读取二进制文件的详细信息,到目前为止,我已经完成了以下工作:strfile=r'filename',open(strfile,'br')为f:byte=f.read()byte_string=str(int(byte))(很抱歉,我上面的回复看起来很奇怪。这是我第一次使用堆栈溢出,因此(1)我不知道如何“输入”到下一行;因此,连续的、单独的回复)和(2)我的代码没有正确的缩进)在我上面的代码中,我不确定我仍然将字节文件转换为整数是否有意义。我的最终目标是以某种方式显示该文件中的图像,并确定该图像的像素值。我一直在网上阅读更多的信息,我想我需要先弄清楚文件的大小,但我还不知道怎么做。你会知道如何继续吗?顺便说一句,回答你上面的问题,我以前没有使用UNIX的经验,所以我不知道如何在UNIX中运行它。