Python小程序:获取二进制文件的所有内容


接上一篇:Python小程序:获取文本文件的所有内容

有时候希望获取一个二进制文件的所有内容,但又不希望有打开文件、读文件、关闭文件这些繁琐的步骤,因此需要用一个小程序把这几个步骤封装起来,一句话完成所需要的获取文件内容的操作。为此,这里给出一个示例代码。


代码如下(get_bin_file.py):

#! /usr/bin/env python

import os

def get_bin_file(filename):
	'''
	Get the all content of the binary file.
	
	input: filename - the binary file name
	return: binary string - the content of the file. 
	'''

	if not os.path.isfile(filename):
		print("ERROR: %s is not a valid file." % (filename))
		return None

	f = open(filename, "rb")
	data = f.read()
	f.close()

	return data



调用示例:

>>> import get_bin_file
>>> content = get_bin_file.get_bin_file("not_exist_file")
ERROR: not_exist_file is not a valid file.
>>> content = get_bin_file.get_bin_file("./get_bin_file.py")
>>> print (content)
b'#! /usr/bin/env python\n\nimport os\n\ndef get_bin_file(filename):\n\t\'\'\'\n\tGet the all content of the binary file.\n\t\n\tinput: filename - the binary file name\n\treturn: binary string - the content of the file. \n\t\'\'\'\n\n\tif not os.path.isfile(filename):\n\t\tprint("ERROR: %s is not a valid file." % (filename))\n\t\treturn None\n\n\tf = open(filename, "rb")\n\tdata = f.read()\n\tf.close()\n\n\treturn data\n\n\n'
>>> content = get_bin_file.get_bin_file("./str_split.py.png")
>>> print(content)
b'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x01\t\x00×××××××××××××××××××××××××××××××××××××\xb5\xeb\x93\xbc2\x00\x00\x00\x00IEND\xaeB`\x82'
>>> 


评论关闭