python精要(72)-VMDK操作(2)
生活随笔
收集整理的這篇文章主要介紹了
python精要(72)-VMDK操作(2)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
>>> import pyvmdk
>>> pyvmdk.get_version()
'20200926'
>>>
讀文件內容
#!/usr/bin/env python3 # -*- coding: utf-8 -*- import pyvmdkprint(pyvmdk.get_version()) vmdk_handle = pyvmdk.handle()vmdk_handle.open("/home/myhaspl/vms/msp_os/msp_os.vmdk") vmdk_handle.open_extent_data_files() fileContent=vmdk_handle.read(200) print(fileContent) vmdk_handle.close() 20200926 b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'相關方法:
def open(self, filename, mode='r'):""" open(filename, mode='r') -> NoneOpens a handle using the descriptor file. """return None def open_extent_data_files(self):""" open_extent_data_files() -> NoneOpens the extent data files. """return None def read(self, size):""" read(size) -> StringReads a buffer of data. """return None # coding: utf-8 # AUTO-GENERATED FILE -- DO NOT EDIT""" Python libvmdk module (pyvmdk). """__doc__ = 'Python libvmdk module (pyvmdk).' __file__ = '/home/myhaspl/anaconda3/lib/python3.8/site-packages/pyvmdk.cpython-38-x86_64-linux-gnu.so' __loader__ = None __name__ = 'pyvmdk' __package__ = '' __spec__ = Nonedef check_file_signature(filename):""" check_file_signature(filename) -> BooleanChecks if a file has a VMware Virtual Disk (VMDK) file signature. """return Nonedef check_file_signature_file_object(file_object):""" check_file_signature_file_object(file_object) -> BooleanChecks if a file has a VMware Virtual Disk (VMDK) file signature using a file-like object. """return Noneclass disk_types(object):""" pyvmdk disk types object (wraps LIBVMDK_DISK_TYPES) """2GB_EXTENT_FLAT = 12GB_EXTENT_SPARSE = 2CUSTOM = 3DEVICE = 4DEVICE_PARITIONED = 5MONOLITHIC_FLAT = 6MONOLITHIC_SPARSE = 7STREAM_OPTIMIZED = 8VMFS_FLAT = 9VMFS_FLAT_PRE_ALLOCATED = 10VMFS_FLAT_ZEROED = 11VMFS_RAW = 12VMFS_RDM = 13VMFS_RDMP = 14VMFS_SPARSE = 15VMFS_SPARSE_THIN = 16def __init__(self, *args, **kwargs):passclass extent_descriptor(object):""" pyvmdk extent descriptor object (wraps libvmdk_extent_descriptor_t) """def __init__(self, *args, **kwargs):passfilename = property(None, None, None,""" The filename. """)def get_filename(self):""" get_filename() -> Unicode string or NoneRetrieves the filename. """return ""def get_offset(self):""" get_offset() -> IntegerRetrieves the offset. """return Nonedef get_size(self):""" get_size() -> IntegerRetrieves the size. """return Nonedef get_type(self):""" get_type() -> IntegerRetrieves the type. """return Noneoffset = property(None, None, None,""" The offset. """)size = property(None, None, None,""" The size. """)type = property(None, None, None,""" The type. """)class extent_descriptors(object):""" pyvmdk sequence and iterator object of extent descriptors """def __init__(self, *args, **kwargs):passclass extent_types(object):""" pyvmdk extent types object (wraps LIBVMDK_EXTENT_TYPES) """FLAT = 1SPARSE = 2VMFS_FLAT = 3VMFS_RAW = 5VMFS_RDM = 6VMFS_SPARSE = 4ZERO = 7def __init__(self, *args, **kwargs):passdef get_version():""" get_version() -> StringRetrieves the version. """return Noneclass handle(object):""" pyvmdk handle object (wraps libvmdk_handle_t) """def __init__(self, *args, **kwargs):passdef close(self):""" close() -> NoneCloses a handle. """return Nonecontent_identifier = property(None, None, None,""" The content identifier. """)disk_type = property(None, None, None,""" The disk type. """)extent_descriptors = property(None, None, None,""" The extent descriptors """)def get_content_identifier(self):""" get_type() -> IntegerRetrieves the content identifier. """return Nonedef get_disk_type(self):""" get_type() -> IntegerRetrieves the disk type. """return Nonedef get_extent_descriptor(self, extent_index):""" get_extent_descriptor(extent_index) -> Object or NoneRetrieves a specific extent descriptor """return Nonedef get_media_size(self):""" get_media_size() -> IntegerRetrieves the size of the media data. """return Nonedef get_number_of_extents(self):""" get_number_of_extents() -> IntegerRetrieves the number of extents """return Nonedef get_offset(self):""" get_offset() -> IntegerRetrieved the current offset within the data. """return Nonedef get_parent_content_identifier(self):""" get_type() -> IntegerRetrieves the parent content identifier. """return Nonedef get_parent_filename(self):""" get_parent_filename() -> Unicode string or NoneRetrieves the parent filename. """return ""media_size = property(None, None, None,""" The media size. """)number_of_extents = property(None, None, None,""" The number of extents """)def open(self, filename, mode='r'):""" open(filename, mode='r') -> NoneOpens a handle using the descriptor file. """return Nonedef open_extent_data_files(self):""" open_extent_data_files() -> NoneOpens the extent data files. """return Nonedef open_extent_data_files_as_file_objects(self, file_objects):""" open_extent_data_files_as_file_objects(file_objects) -> NoneOpens extent data files using a list of file-like objects. """return Nonedef open_extent_data_files_file_objects(self, file_objects):""" open_extent_data_files_file_objects(file_objects) -> NoneOpens extent data files using a list of file-like objects. """return Nonedef open_file_object(self, file_object, mode='r'):""" open_file_object(file_object, mode='r') -> NoneOpens a handle using a file-like object of the descriptor file. """return Noneparent_content_identifier = property(None, None, None,""" The parent content identifier. """)parent_filename = property(None, None, None,""" The parent filename. """)def read(self, size):""" read(size) -> StringReads a buffer of data. """return Nonedef read_buffer(self, size):""" read_buffer(size) -> StringReads a buffer of data. """return Nonedef read_buffer_at_offset(self, size, offset):""" read_buffer_at_offset(size, offset) -> StringReads a buffer of data at a specific offset. """return Nonedef seek(self, offset, whence):""" seek(offset, whence) -> NoneSeeks an offset within the data. """return Nonedef seek_offset(self, offset, whence):""" seek_offset(offset, whence) -> NoneSeeks an offset within the data. """return Nonedef set_parent(self, parent_handle):""" set_parent(parent_handle) -> NoneSets the parent handle. """return Nonedef signal_abort(self):""" signal_abort() -> NoneSignals the handle to abort the current activity. """return Nonedef tell(self):""" tell() -> IntegerRetrieves the current offset within the data. """return Nonedef open(filename, mode='r'):""" open(filename, mode='r') -> ObjectOpens VMDK image handle using the descriptor file. """return Nonedef open_file_object(file_object, mode='r'):""" open_file_object(file_object, mode='r') -> ObjectOpens a VMDK image handle using a file-like object of the descriptor file. """return None總結
以上是生活随笔為你收集整理的python精要(72)-VMDK操作(2)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Redis缓存那点破事 , 绝杀面试官
- 下一篇: Mysql 数据库默认值选 ‘‘“ 、N