mirror of
https://github.com/Dannecron/netology-devops.git
synced 2025-12-25 23:32:37 +03:00
homework 4.2: add questions 1-2, move homework to subdir
This commit is contained in:
7
src/homework/04-script/4.2/q1_1.py
Executable file
7
src/homework/04-script/4.2/q1_1.py
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
a = 1
|
||||
b = '2'
|
||||
c = a + b
|
||||
|
||||
print(a, b, c)
|
||||
7
src/homework/04-script/4.2/q1_2.py
Executable file
7
src/homework/04-script/4.2/q1_2.py
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
a = '1'
|
||||
b = '2'
|
||||
c = a + b
|
||||
|
||||
print(a, b, c)
|
||||
7
src/homework/04-script/4.2/q1_3.py
Executable file
7
src/homework/04-script/4.2/q1_3.py
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
a = 1
|
||||
b = 2
|
||||
c = a + b
|
||||
|
||||
print(a, b, c)
|
||||
13
src/homework/04-script/4.2/q2.py
Executable file
13
src/homework/04-script/4.2/q2.py
Executable file
@@ -0,0 +1,13 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import os
|
||||
cd_command = "cd ~/netology/sysadm-homeworks"
|
||||
bash_command = [cd_command, "git status"]
|
||||
top_level_command = [cd_command, "git rev-parse --show-toplevel"]
|
||||
top_level = os.popen(' && '.join(top_level_command)).read().replace('\n', '')
|
||||
result_os = os.popen(' && '.join(bash_command)).read()
|
||||
for result in result_os.split('\n'):
|
||||
if result.find('modified') != -1:
|
||||
prepare_result = result.replace('\tmodified: ', '')
|
||||
full_path = top_level + '/' + prepare_result
|
||||
print(full_path)
|
||||
@@ -14,11 +14,11 @@ c = a + b
|
||||
```
|
||||
|
||||
#### Вопросы:
|
||||
| Вопрос | Ответ |
|
||||
| ------------- | ------------- |
|
||||
| Какое значение будет присвоено переменной `c`? | ??? |
|
||||
| Как получить для переменной `c` значение 12? | ??? |
|
||||
| Как получить для переменной `c` значение 3? | ??? |
|
||||
| Вопрос | Ответ |
|
||||
|------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| Какое значение будет присвоено переменной `c`? | Переменной не будет присвоено никакое значение, потому что производится сложение целого числа и строки, при этом будет инициировано исключение `TypeError: unsupported operand type(s) for +: 'int' and 'str'` |
|
||||
| Как получить для переменной `c` значение 12? | Для этого необходимо присвоить переменной `a` строковое значение `'1'`, чтобы была произведена конкатенация строк. [script](./q1_2.py) |
|
||||
| Как получить для переменной `c` значение 3? | Для этого необходимо присвоить переменной `b` целочисленное значение `2` (без кавычек). [script](./q1_3.py) |
|
||||
|
||||
### Обязательная задача 2
|
||||
Мы устроились на работу в компанию, где раньше уже был DevOps Engineer. Он написал скрипт, позволяющий узнать, какие файлы модифицированы в репозитории, относительно локальных изменений. Этим скриптом недовольно начальство, потому что в его выводе есть не все изменённые файлы, а также непонятен полный путь к директории, где они находятся. Как можно доработать скрипт ниже, чтобы он исполнял требования вашего руководителя?
|
||||
@@ -39,13 +39,36 @@ for result in result_os.split('\n'):
|
||||
```
|
||||
|
||||
#### Ваш скрипт:
|
||||
|
||||
[script](./q2.py)
|
||||
|
||||
```python
|
||||
???
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import os
|
||||
cd_command = "cd ~/netology/sysadm-homeworks"
|
||||
bash_command = [cd_command, "git status"]
|
||||
top_level_command = [cd_command, "git rev-parse --show-toplevel"]
|
||||
top_level = os.popen(' && '.join(top_level_command)).read().replace('\n', '')
|
||||
result_os = os.popen(' && '.join(bash_command)).read()
|
||||
for result in result_os.split('\n'):
|
||||
if result.find('modified') != -1:
|
||||
prepare_result = result.replace('\tmodified: ', '')
|
||||
full_path = top_level + '/' + prepare_result
|
||||
print(full_path)
|
||||
```
|
||||
|
||||
#### Вывод скрипта при запуске при тестировании:
|
||||
|
||||
_note_: при запуске скрипта изменил путь до репозитория.
|
||||
```
|
||||
???
|
||||
./q2.py
|
||||
/home/dannc/code/learning/netology/readme.md
|
||||
/home/dannc/code/learning/netology/src/homework/04-script/4.2/q1_2.py
|
||||
/home/dannc/code/learning/netology/src/homework/04-script/4.2/q1_3.py
|
||||
/home/dannc/code/learning/netology/src/homework/04-script/4.2/q2.py
|
||||
/home/dannc/code/learning/netology/src/homework/04-script/4.2/readme.md
|
||||
|
||||
```
|
||||
|
||||
### Обязательная задача 3
|
||||
Reference in New Issue
Block a user