summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--day1/task2/task2.py36
-rw-r--r--day1/task2/task2_data_1.txt1
-rw-r--r--day1/task2/task2_data_2.txt4
-rw-r--r--day1/task5/task5.py20
-rw-r--r--day1/task5/task5_data.txt1
5 files changed, 62 insertions, 0 deletions
diff --git a/day1/task2/task2.py b/day1/task2/task2.py
new file mode 100644
index 0000000..593df5b
--- /dev/null
+++ b/day1/task2/task2.py
@@ -0,0 +1,36 @@
+import os
+
+
+CHUNK_SIZE = 1024
+
+write_path = os.path.join(os.getcwd(), 'task2_data_1.txt')
+read_path = os.path.join(os.getcwd(), 'task2_data_2.txt')
+
+try:
+ write_file = open(write_path, 'a')
+ read_file = open(read_path)
+
+except FileNotFoundError as e:
+ exception_path = str(e).strip('[Errno 2] No such file or directory:')[1:-1]
+ print(f'"{exception_path}" не существует')
+
+except PermissionError as e:
+ exception_path = str(e).strip('[Errno 13] Permission denied:')[1:-1]
+ print(f'Файл "{exception_path}" не доступен для чтения/записи')
+
+except IsADirectoryError as e:
+ exception_path = str(e).strip('[Errno 21] Is a directory:')[1:-1]
+ print(f'"{exception_path}" является директорией')
+
+else:
+ write_file.write('\n\n\n')
+
+ data = read_file.read(CHUNK_SIZE)
+ write_file.write(data)
+ while data:
+ data = read_file.read(CHUNK_SIZE)
+ write_file.write(data)
+
+ # пожалуйста не мучайте меня я не хочу писать еще три expept'a
+ os.rename('task2_data_1.txt', 'task2_data_all.txt')
+ os.remove('task2_data_2.txt')
diff --git a/day1/task2/task2_data_1.txt b/day1/task2/task2_data_1.txt
new file mode 100644
index 0000000..60a2f18
--- /dev/null
+++ b/day1/task2/task2_data_1.txt
@@ -0,0 +1 @@
+khasdjkgkjdasghdsajkfvadskghha
diff --git a/day1/task2/task2_data_2.txt b/day1/task2/task2_data_2.txt
new file mode 100644
index 0000000..ae1e9a8
--- /dev/null
+++ b/day1/task2/task2_data_2.txt
@@ -0,0 +1,4 @@
+f;ldasjgkjasdngjasdbjklfkaSMGG'
+ASDDGN
+DPAJGN
+FKLADSKF'ADSNLGNADSL;JGLJ
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