-
Notifications
You must be signed in to change notification settings - Fork 381
Expand file tree
/
Copy pathdecompressor.py
More file actions
27 lines (25 loc) 路 988 Bytes
/
Copy pathdecompressor.py
File metadata and controls
27 lines (25 loc) 路 988 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
def decompress(ifile, codes,ofile):
symbol_codes = {}
with open(codes, 'r') as f:
for line in f:
last_space_index = line.rfind(' ')
if last_space_index != -1:
symbol = line[:last_space_index]
code = line[last_space_index + 1:].strip()
symbol_codes[code] = symbol
with open(ifile, 'r') as f:
compressed = f.readline()
decompressed = ''
current = ''
for bit in compressed:
current += bit
if current in symbol_codes.keys():
decompressed += symbol_codes[current]
current = ''
with open(ofile, 'w') as f:
f.write(decompressed)
ifile = input("Enter your input (compressed) filename: ")
codes = input("Enter the filename where you have saved your codes: ")
ofile = input("Enter the filename where you want your decompressed document saved: ")
decompress(ifile, codes,ofile)
print("Decompressed code has been written to:", ofile)