diff options
| -rw-r--r-- | day1/task5/task5.py | 20 | ||||
| -rw-r--r-- | day1/task5/task5_data.txt | 1 |
2 files changed, 21 insertions, 0 deletions
diff --git a/day1/task5/task5.py b/day1/task5/task5.py new file mode 100644 index 0000000..2869247 --- /dev/null +++ b/day1/task5/task5.py @@ -0,0 +1,20 @@ +import os + +read_path = os.path.join(os.getcwd(), 'task5_data.txt') +write_path = os.path.join(os.getcwd(), 'task5_data_new.txt') + +if not os.access(read_path, os.R_OK): + print('Файл "{}" не доступен для чтения'.format(read_path)) +elif not os.access(write_path, os.W_OK): + print('Файл "{}" не доступен для записи'.format(write_path)) + +else: + with open(read_path) as f: + print(f.read()) + + with open('task5_data.txt', 'rb') as input_byte, open(write_path, 'wb') as out: + char = input_byte.read(1) + while char: + number = int(char.hex(), 16) + out.write(bytes([number ^ 2])) + char = input_byte.read(1) diff --git a/day1/task5/task5_data.txt b/day1/task5/task5_data.txt new file mode 100644 index 0000000..2dfc0ba --- /dev/null +++ b/day1/task5/task5_data.txt @@ -0,0 +1 @@ +12йцas
\ No newline at end of file |