在Linux上准备转换脚本windows_to_linux.py,内容如下。import argparse
import os
import sys
class WindowsToLinux:
"""
The class for format windows to linux
"""
def __init__(self):
parse = argparse.ArgumentParser()
parse.add_argument("-i", dest="windows_dump_path", default="",
help="<Required> the dump file path", required=True)
parse.add_argument("-o", dest="output_path", default="",
help="<Required> the output path", required=True)
args, _ = parse.parse_known_args(sys.argv[1:])
self.windows_dump_path = os.path.realpath(args.windows_dump_path)
self.output_path = os.path.realpath(args.output_path)
def windows_to_linux(self, dump_path):
try:
with open(dump_path, "rb") as dump_file:
content = dump_file.read()
new_content = content.replace(b"\r\n", b"\n")
output_fie_path = os.path.join(self.output_path, os.path.basename(dump_path))
with open(output_fie_path, "wb") as new_dump_file:
new_dump_file.write(new_content)
print('Info: convert doc to linux for "%s" successfully.' % dump_path)
except (OSError, IOError, MemoryError, SystemError) as error:
print('Error: convert windows dump file "%s" to linux dump file failed. %s' % (dump_path, error))
def convert(self):
try:
if not os.path.exists(self.windows_dump_path) and \
not os.access(self.windows_dump_path, os.R_OK):
print('Error: the path "%s" does not exist or can not readable.')
sys.exit()
if not os.path.exists(self.output_path):
os.makedirs(self.output_path)
if not os.path.exists(self.output_path) and \
not os.access(self.output_path, os.W_OK):
print('Error: the path "%s" does not exist or can not writable.')
sys.exit()
if os.path.isfile(self.windows_dump_path):
self.windows_to_linux(self.windows_dump_path)
else:
for file_name in os.listdir(self.windows_dump_path):
self.windows_to_linux(os.path.join(self.windows_dump_path, file_name))
except (OSError, IOError, MemoryError, SystemError) as error:
print('Error: convert windows dump file to linux dump file failed. %s' % error)
sys.exit()
if __name__ == "__main__":
main = WindowsToLinux()
main.convert()