Pythonovský program jako skript; hlavička, komentář, docstring
Otevření souboru pro čtení, pro zápis, zavření souboru
For cyklus přes dvojice hodnot
if elif else # podmíněný kód not or and # logické operace False True None # konstanty "nepravda", "pravda", "neexistující objekt" while for in break continue # cykly def return pass # funkce del # zničení objektu import from as # načítání modulů try raise assert except finally # (budoucnost) zachytávání/hlášení chyb class yield lambda with is global nonlocal # (budoucnost, zbytek)
Původní zadání úkolu: Napište tentokrát program, který načte soubor "vstup.txt", očísluje mu řádky a vypíše ho do "vystup.txt". Nápověda: k doplnění uvozujících nul (leading zeros) na čtyřmístné číslo použijte funkci format(číslo, '04d').
#!/usr/bin/env python3 ''' Číslovač řádků ---- Verze: 1 Autor: David Roesel, roesel@gmail.com (..) ''' pocet_radku=0 # Zde si držím číslo aktuálního řádku zapis="" # Zde si držím string, který budu na konci scriptu # zapisovat do nového (nebo toho samého) souboru f=open("input.txt") # Otevírám soubor ze kterého budu číst for line in f.readlines(): # Každou jeho řádku si přečtu, očísluju a znovu uložím pocet_radku+=1 zapis+=str(format(pocet_radku, '03d')) + " " + str(line) f.close() # Soubor nezapomenu zavřít g=open("output.txt", "w") # Otevírám soubor do kterého budu zapisovat g.write(zapis) # Zapisuji a zavírám g.close()
otevreny_soubor = open("nic.txt","a") # otevření souboru v režimu přidávání (append) otevreny_soubor.write("prvni_radek\n") otevreny_soubor.close() otevreny_soubor = open("nic.txt","a") # otevření souboru v režimu přidávání znovu otevreny_soubor.write("druhy_radek\n") otevreny_soubor.close()
import math math.sin(math.pi/3) math.log(32,2) math.log(1000,10) math.log(1e15,10)
Pozn. existují i mnohem pokročilejší moduly na práci s matematikou: např. scipy pro vědecké výpočty (práce s vektory a maticemi, fitování dat funkcí, simulace fyzikálních systémů atp.), numpy (odlehčená verze scipy) matplotlib (kreslení kvalitních grafů), sympy (symbolické počítání, úpravy výrazů).
1. Načtení modulu příkazem import math ; přístup k funkcím modulu jako math.cos() atd.
2. Načtení modulu příkazem from math import cos; přístup k funkcím modulu jako cos() atd.
import random
random.random()
random.randint(0,5)
time.sleep(secs) time.time() time.gmtime() time.gmtime(time.time()) time.strftime("%d. %m. %Y v %H:%M:%S") time.strftime("%d. %m. %Y v %H:%M:%S", time.gmtime(time.time()))
Měření času:
a=time.time(); time.sleep(3); print(time.time()-a)Pozn. existuje i modul datetime, který poskytuje pokročilejší funkce pro práci s datem.
os.mkdir('smazme') os.remove('/home/filip/nic.txt') os.removedirs('smazme')
otevreny_soubor = open("nic.txt","a") # otevření souboru v režimu přidávání (append) close(otevreny_soubor) import shutils shutils.copy("nic.txt", "nic2.txt") shutil.copytree(src, dst[, symlinks=False[, ignore=None]]) hutil.make_archive(base_name, 'zip')
sys.argv # parametry předané programu sys.platform # na jakém operačním systému je python spuštěn? sys.version # verze pythonu