Search
Učitelská verze stránky
Po tomto cvičení student
str.split()
save
load
MyMatrix
Seznamte se s tématem Práce se soubory. Popisovaný způsob se hodně podobá práci se soubory třeba v jazyku C.
Existuje i objektové rozhraní pro práci s cestami, adresáři a soubory, modul pathlib. Zkuste se podívat na několik krátkých videí o modulu pathlib.
V Pythonu 3 jsou všechny řetězce implicitně v unicode v kódování UTF-8. (Chcete-li používat jen sekvenci bytů, musí se použít datový typ bytes.) To také znamená, že při načítání textů z textových souborů je třeba specifikovat kódování, v němž je textový soubor uložen:
bytes
with open('soubor.txt', 'rt', encoding='utf-8') as f: retezec = f.read()
Argument encoding=“utf-8” používejte vždy, a to při čtení i při zápise. Neuvedete-li ho, Python použije implicitní kódování, které je ale závislé na operačním systému. Totožný program se pak může chovat jinak na různých systémech.
encoding=“utf-8”
Více např. zde: http://www.diveintopython3.net/files.html
Programujte samostatně a ptejte se cvičícího. Snažte se o eleganci. Rozmyslete si trochu řešení předem, třeba na papír.
save(self, filename)
load(self, filename)
>>> a = MyMatrix([[1, 2, 3], [2, 3, 4]]) >>> a.save('matrix.txt') >>> b = MyMatrix() >>> b.load('matrix.txt') >>> a.get_matrix() == b.get_matrix() True
Nápověda:
split
>>> s = '1,2,3,4' >>> l = s.split(',') >>> print(l) ['1', '2', '3', '4']
strip
>>> s = '\t1,2,3,4 \n' >>> l = s.strip() >>> print(l) '1,2,3,4'
count_chars_in_string(s)
get
count_chars_in_file(filepath)
.freq
Zadání hádanky se dozvíte na cvičení.
Některou z příštích nedělí je třeba odevzdat Reversi hráče pro turnaj. Platný termín je v BRUTE! Specifikace
read_classification_from_file()
write_classification_to_file()