Задачи

Задача 1. Сделать директорию с тестами для ejudge по файлу тестов

Для проверяющей системы Ejudge тесты должны быть записаны в виде файлов входных данных 001.dat, 002.dat, 003.dat и так далее. И в виде эталона выходных данных по этим входным данным. Эталонные выходные данные пишутся в файлы 001.ans, 002.ans и т.п.

Запишем входные и выходные данные всех тестов в один файл, по которому будем генерировать эти файлы. В файл пишем данные в формате

входные данные теста 1
---
выходные данные теста 1
===
входные данные теста 2
---
выходные данные теста 2
===
входные данные теста 3
---
выходные данные теста 3
===

Написать программу, которая в аргументах командной строки получает общий тестовый файл и в той же директории, где лежит этот общий тестовый файл делает директорию tests с файлами 001.dat, 001.ans, 002.dat, 002.ans и так далее.

python gentest.py ../task1/alltest.txt

Ожидаемая структура директории task1:

task1/
  +--- alltest.txt
  +--- tests
         +---- 001.dat
         +---- 001.ans
         +---- 002.dat
         +---- 002.ans
         +---- 003.dat
         +---- 004.ans

Дополнительное задание EOL

Даже если в файле alltest.txt концы файла записаны в стиле Windows или Mac, в файлах тестов сделать строго '\n' как конец строки.

Задача 2. Бэкап

Запуск:

backup.py now 2018_11_18

Делает бэкап файлов из директории now в директорию 2018_11_18 по следующим правилам:

Задача 2 (на строки и разбор аргументов командной строки) Генератор пароля (by Головизин)

Генерируем пароль, состоящий из случайных:

  • буковок,
  • буковок + циферок,
  • буковок + циферок + буковок в верхнем регистре,
  • буковок + циферок + буковок в верхнем регистре + цифирьки в верхнем регистре заданной строки (это означает "синтаксические знаки, которые получаются при нажатии на кнопку с цифрой и нажатым Shift, т.е. !@#$%^&*()_+-=)

В консоли задаётся аргументами:

  • Длина пароля (по умолчанию 8)
  • Сложность (от 1 до 4, см. выше) или алфавит пароля
  • Доп.задание: Использовать только английские буковки, или же английские + русские

Пароль выводим в консоль.

Задача 3. Обзорщик жесткого диска (by Головизин)

Программа показывает следующую информацию:

  • Сколько файлов какого типа (по расширению) есть в указанной директории? Сколько папок?
  • Сколько места занимают файлы каждого типа?
  • (Дополнительно++) Какие файлы и папки самые большие по размеру (папки — вместе с вложенными файлами)?

Аргументами командной строки задаётся:

  • путь к директории, с которой начнём поиски.
  • какие запросы делать (количество файлов разного типа, размер файлов разного типа)
  • Максимальный размер таблицы (по умолчанию — только 10 самых часто встречающихся типов файлов).

NB: Таблички с результатами выводить с помощью модуля PTable или Tabulate

results matching ""

    No results matching ""