Lista-2

by Jerry Sky



Moje concerns:

  1. Brak standaryzacji parsowania docstring’ów?

Zadanie 1

Napisz program, który dla danego pliku tekstowego wróci następujące informacje: liczba bajtów, liczbę słów, liczbę linii oraz maksymalną długość linii.

kod

Zadanie 2

Napisz program, który koduje oraz dekoduje dowolny plik binarny w kodzie Base64. Kod Base64 koduje w taki sposób, że każde kolejne 6 bitów z pliku kodowane jest znakiem ASCII przedstawionych w poniższej tabeli:

tablica = 'ABCD​EFGH​IJKL​MNOP​QRST​UVWX​YZab​cdef​ghij​klmn​opqr​stuv​wxyz​0123​4567​89+/'

Na przykład: słowo “Python” kodujemy jako “UHl0aG9u”

kod

Jeśli linijka zawiera zmienną globalną danego modułu przyrównaną do długiego stringa to według Google’s Python styleguide (3.2) jest to akceptowalne.

Zadanie 3

Napisz program, który zamienia wszystkie nazwy w danym katalogu oraz wszystkich podkatalogach na małe litery. Jako parametr podajemy katalog (zobacz moduł os).

kod

Zadanie 4

Napisz program, który w danym katalogu znajdzie wszystkie pliki, które powtarzają się więcej niż raz (zobacz os, help(os.walk)). Weź pod uwagę, że pliki mogą mieć różne nazwy, ale tą samą zawartość, dlatego przyjmujemy, że dwa pliki są takie same, jeśli mają taką samą wielkość oraz taką samą wartość funkcji haszującej. Na wyjściu program wyświetla listę wszystkich plików, które się powtarzają (nazwy plików wraz ze ścieżką)

$ python repchecker.py ./
   ---------------------------------
   ./plik1.txt
   ./katalog1/plik5.txt
   ./katalog3/plik1.dat
   ---------------------------------
   ./plik3.txt
   ./katalog2/plik2.txt
   ---------------------------------

kod