Poznámka: Pokud ti nebude fungovat spuštění pythonu pomocí příkazu python, zkus použít py.
-
Napiš program
show_args.py, který zobrazí argumenty z příkazové řádky. Je proto třeba to spouštět skutečně z příkazové řádky (typicky vcmd, či PowerShellu), v interaktivním pythonu toho tentokráte moc nezjistíš.Příklad:
> python show_args.py first second "so long text" 'single quoted text' - "first" - "second" - "so long text" - "single quoted text"Poznámka:
cmdnerozumí jednoduchým apostrofům a proto se'single quoted text'tváří jako tři argumenty, vč. znaku apostrofu. To není vaše vina, ale specifikum toho shellu - tuto nekonzistenci neřešte.Argumenty z příkazové řádky v pythonu dostaneš z
argv, který si naimportuješ z modulusys(např.from sys import argv).Začni jednoduše, jen se podívej, co ti vrátí
argva od toho pak pokračuj dál. Při seznamování si vyzkoušej přejmenovat celý soubor, například zshow_args.pynadisplay_args.pya sleduj, co se změnilo. -
Napiš program
show_file.py, který pouze zobrazí obsah souboru zadaný z příkazové řádky. Příklad užití:> python show_file.py myfile.txt This is content of myfile.txt -
Napiš funkci
add_padding, kterou ulož do souboruadd_padding.py, která přečte celý soubor daný prvním argumentem a zapíše do souboru daný druhým argumentem (vytvoří nový, pokud je potřeba), původní obsah s tím, že bude odsazen o řetězec>.Pro práci se soubory použij context manager (
with ...).>>> add_padding('zen.txt', 'zen-padded.txt')
Soubor
zen.txtBeautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested.Vyvtořený soubor
zen-padded.txt> Beautiful is better than ugly. > Explicit is better than implicit. > Simple is better than complex. > Complex is better than complicated. > Flat is better than nested. -
Z předchozího souboru udělej spustitelný modul.
Nachystej si následující adresářovou strukturu, kterou rozšiř tak, aby se dal modul spustit (tečka označuje aktuální adresář, ten se nevytváří):
. ├── padding │ └── add_padding.py └── zen.txtPříklad spouštění:
python -m padding zen.txt zen-padded.txt