Enter a word or phrase and hit enter to search the entire wiki.
This is the same as using the search field at top right.
Tips: A single word works best for matching page names.
Case-insensitivity and wildcards may be supported depending on your catalog configuration.
Leave it blank to list all pages.
Page names matching
*python* (8):
Logging - logování v Pythonu
Python v Antice
PythonAGlade
PythonHosting
PythonicWay
PythonRoot
PythonUnicodeCestina
PythonZaciname
Text matching
python (118):
- 2to3
- Překlopení na Python 3.0:
=================================
.. image:: py30.png
:align: right
.. image:: py25.png
:align: right
Nejlepší strategie přechodu z Python 2.x na Python 3.0 je snad tato:
0. (*Předpoklad:*) Začněte s tím, že si vytvořte testovací pr
- ADO
- !ActiveX Data Objects (ADO, [http://en.wikipedia.org/wiki/ActiveX_Data_Objects]) je windowsí technologie založená na COM, pro práci s databázemi.
ADO můžeme používat buď přímo, prostřednictvím nějaké knihovny umožňující pracovat z Pythonu s !COMem (např. ctypes+comtypes nebo pywin32), nebo použít knihovnu adodbapi (http://adodbapi.sourceforge.net/), která ADO zabaluje do standardního Pythonního databázového rozhraní.
Protože je součástí Pythonu od verze 2.5 knihovna ctypes (http:
- ArgumentyFunkciSHvezdickou
- ,9,10]
f(*seznam)
Dvě hvězdičky
----------------
Za dvěma hvězdičkami se očekává slovník. Dosadí se z něj zbývající klíčové parametry funkce::
def f(**kwd):
print (kwd)
f(a=1,b=2,c=3.4,ahoj="hello world")
Více na http://docs.python.org/tutorial/controlflow.html#more-on-defining-functions
Další ukázka
---------------
Pro vypsání předem nedefinovaných pozičních argumentu použijeme ``*promenna``, pro vypsání nedefinovaných keyword argumentů použijeme ``**promenna2``.
::
d
- atexit
- jení k databázi, nebo prostě vypsat pozdrav na rozloučenou. ::
import atexit, sys
def konec(r):
print r
atexit.register(konec, "Konec programu")
sys.exit([1])
Menší nevýhodou tohoto modulu je, že zadaná funkce se *nezavolá* tehdy, když python zaregistruje fatální interní chybu, nebo když dojde k ukončení pomocí ``os._exit``.
Jedná se o alternativu k ``sys.exitfunc``, nicméně je doporučováno používat spíše atexit, protože interpretr pravděpodobně nebude pracovat správně, pokud použijet
- AttributeError
- Vyjímka: AttributeError
---------------------------
::
Traceback (most recent call last):
File "./asyncore.py", line 2, in <module>
import asyncore
File "/home/develop/python/asyncore.py", line 3, in <module>
class http_client(asyncore.dispatcher):
AttributeError: 'module' object has no attribute 'dispatcher'
Vyjímka AttributeError je téměř vždy způsobena tím, že máte nevhodně pojmenovaný svůj script nebo jiný s
- BeautifulSoup
- i všechny odkazy" nebo "Najdi všechny odkazy třídy <tt>vnejsiOdkazy</tt> nebo
"Najdi všechny odkazy jejichž url je "neco.cz" nebo "Najdi tabulku, která má
tučně hlavičku, a ten text mi dej."
</p>
<p>Tak jste tu správně.</p>
<p>Beautiful Soup je Pythonský HTML/XML parser navržený pro snadné použití v projektech,
které se zabývají dolováním dat z HTML stránek. Má dvě nadobyčejné přednosti:
</p><ol>
<li>Beautiful Soup nezhavaruje, když mu předávat špatnou značku. Vrátí rozkouskovaný HTML strom,
- BePythonic
- Buďte Pythonýry!
================
Postaveno na základech http://shalabh.infogami.com/Be_Pythonic2.
Pomocné indexy používejte zřídka, iterátory jen občas
------------------------------------------------------
Špatně::
i = 0
while i<10:
necoUd
- CeskeWeby
- České weby s pythonýrským zaměření
==================================
- http://pyvec.org/
- http://www.python.cz
- http://python.wraith.cz
- http://www.geon.wz.cz
- http://gama.fsv.cvut.cz/wiki/index.php/python
- Cestina2.x
- Čeština v Python 2.x
============================
.. image:: py25.png
:align: right
.. contents:: Obsah
Kódování vlastního textu programu
---------------------------------
Pro správné fungování češtiny v samotném programu je třeba dodržet 3 hlavní zásady
- Cestina3.x
- Čeština v Python 3.x
============================
.. image:: py30.png
:align: right
.. contents:: Obsah
Bylo zcela změněn přístup Python k unicode znakům. Zmizela povinné u"" před řetězci, nyní je u"" všechno. Práce s národními abecedami je velmi průhledná
- CGI a omezené prostředí
- Tento text je napsán pro Linux a Apache.
Představme si, že jsme v situaci, kdy potřebujeme napsat CGI skript přistupující
např. k MySQL databázi, ale i když je na daném počítači nainstalována a
nainstalován je i Python, chybí !MySQLdb a, co je ještě horší, i libmysqlclient.
Administrátorská práva nemáme a admin nám nechce potřebné knihovny nainstalovat. Jak z
toho ven?
Začněme tím jednodušším, tj. !MySQLdb. Využijeme toho, že existuje distribuční
balík pro naši
- Chameleon
- Chameleon v Pythonu
====================
Dotaz
-----
Zdravim,
je neco podobneho jako chameleon v php v Pythonu? V PHP to vypada takto::
$a = "aa";
${$a} = "bb";
echo $aa; // vyechuje bb
Odrazování
---------------------------
Pokud toto někdo potřebu
- Databaze
- Databáze Python
=================
Zde by mohla být obdoba http://wiki.Python.org/moin/ChoosingDatabase s **českými** zkušenostmi a doporučeními.
- Dekoratory funkcii
- ia(*args,**kwargs)
except:
print 'chyba'
return nova
Definujme nejaku funkciu, v ktorej by sa vypísalo chybové hlásenie.::
@osetrene_chyby
def ff(nejaky_text):
print nejaky_text
print 1/0
ff('Python podporuje dekoratory!')
Vypíše::
>>Python podporuje dekoratory!
>>chyba
From Radek Wed Feb 16 16:23:58 +0100 2011
From: Radek
Date: Wed, 16 Feb 2011 16:23:58 +0100
Subject:
Message-ID: <20110216162358+0100@www.py.cz>
Pokud dekorovaná f
- DekoratoryFuncii2
- ekorátor který definuju jako třídu. S dekorátory jako
> > funkcemi jsem se nějak popasoval, tedy aspoň si to myslim, ale u té
> > třídy je to pro mě černá magie.
Odpověď1:
S tými rozumnými materiálmi je to bieda. Hlavne sa mi zdá, že
oficiálny Python Tutorial akosi zaostáva. Pri niekoľkonásobnom
prečítaní relevantných (a roztrúsených) častí oficiálnej dokumentácie
[1]_, [2]_, [3]_ a PEP 318 [4]_ sa to akosi dá pochopiť. Pokúsim sa to
vysvetliť nižsie.::
> > Pokud nemá dekorátor parametry, t
- DistribuceProgramu
- Je několik možností, jak nabízet svoje hotové programy/scripty ostatním:
`*.py`
-----
Prostě poskytneme své zdrojové kódy, s patřičnou licencí, pokud chceme být nějak chráněni, a je to. Ostatní - tedy instalaci Pythona a všech dalších potřebných modulů - necháme na uživateli.
- Výhody: rychlé, málo objemné, uživatel může si upravit kody k obrazu svému
- Nevýhody: v komerční sféře snad dostupnost zdrojových kodu
- Použití: volně dostupné knihovny typu http://
- DocasneCekaniNaVstup
- ) and not vystup.empty():
print (vystup.get() )
Linux
------
Zaprvé píšu s křížkem po funuse a zadruhé tohle řešení bude fungovat jen
na Operačních systémech, což už poznamenal regnarG. Takže si toho
nevšímejte :-) ::
#!/usr/bin/python
import sys, select
r = select.select([sys.stdin], [], [], 5)
if r[0]:
choice = sys.stdin.readline()
else:
choice = 'default\n'
print 'Tvoje volba:', choice
- DoporuceniProPreklad
- Doporučení pro překlad odborných textů jazyka Python
====================================================
.. image:: py30.png
:align: right
.. image:: py25.png
:align: right
.. contents:: Obsah
Úvod
----
Tento text vznikl na základě potřeby vytvořit jednotné české názvosloví pro
překlad d
- Editory-IDE
- .. image:: py25.png
:align: right
je téma, které bylo v emailové konferenci několikrát přetřásáno. Spíše než
neustále o tom psát do konference, přijde mi lepší přehled/zkušenosti/kritéria
vypsat tady.
.. contents:: Obsah
Vlastnosti IDE pro Python
==============================
Samozřejmost
--------------------
- Zvýrazňování syntaxe
- Auto-odsazování
Slušné
---------------------
- Code completion (automatické dokončování příkazů, názvu funkcí, proměnných)
- Code folding (skrývání řádek
- ErrorsVyjimky
- Chyby, výjimky, errory
======================
Přehled všech výjimek můžete nalézt v originále na http://docs.python.org/lib/module-exceptions.html. Podrobnější a český výklad i s příklady a možnými příčinami/řešeními zde níže.
- FilozofiePython
- Filozofie je krásná, stojí za vším, tedy i za Pythonem.
http://www.youtube.com/watch?v=kYB72Qa6F9I
Pythonýrský Zen
Seznam Pythonýrských principů a filozofie, které pomáhají při použití a pochopení jazyka. Tento seznam se dá získat napsáním ''import this'' na příkazovém řádku.
Hezký je lepší ne
- FormatovaniRetezcu
-
Formátování řetězců a čísel při tisku
==========================================
Formátovací řetězce slouží k dokonalejšímu tisku nebo převodu proměnných a hodnot. Tato stránka ukáže, jak je v praxi používat. Více k tomuto najdete na http://docs.python.org/py3k/library/string.html#string-formatting.
Základ
---------
>>> '{0}, {1}, {2}'.format('a', 'b', 'c')
'a, b, c'
>>> '{}, {}, {}'.format('a', 'b', 'c') # pouze 3.1+
'a, b, c'
>>> '{2}, {1}, {0}'.format('a', 'b', 'c')
'c, b, a'
>>> '{2}, {1
- Framework Django
- ================
Framework Django
================
Django_ je vyspělý webový framework napsaný v jazyce Python_, který podporuje
rychlý vývoj a čisté, pragmatické konstrukce.
Na adrese `www.djangoproject.cz`_ byly počátkem roku 2009 spuštěny stránky, jejichž cílem je
zpřístupnit základní informace o tomto frameworku v českém jazyce a
nasměrovat nové uživa
- FrontPage
- .. Programovací jazyk Python, Zope, PyCZ, programování
Programovací jazyk Python
=========================
.. sidebar:: Download
| Python.org_
| slunecnice.cz_
.. _Python.org: http://www.Python.org/download
.. _slunecnice.cz: http://www.slunecnice.cz/sw/Python/
Py
- GetSetProperty
- =======
Celkem mě zaujala ta debata kolem getters and setters. Osobně jsem zastánce používáni téhle metody. Čistě protože si myslím, ze o nastavovaní/vracení atributu by se mela starat třída. Četl jsem ten text tady: http://dirtsimple.org/2004/12/python-is-not-java.html
A zaujala me věta: *In python, this is silly, because you can start with a normal attribute and change your mind at any time, without affecting any clients of thé class.*
Asi je to jen mou neznalosti, ale přeci když budu důsledn
- GrafickaProstrediGUI
- Volba grafického prostředí pro začátečníky
Umíte již základy programovacího jazyka Python a taky trochu anglicky? A chtěli byste začít tvořit okenní aplikace? Python jich vám nabízí "nepřeberné množství":http://wiki.Python.org/moin/GuiProgramming . Abychom vám usnadnili volbu, připravili jsme pro vás list JakeZvolitGUI.
Zkušenosti s
- GuidoNewYork22.2.2006
- Python in New York, 22. 2. 2006
===============================
Na Google video byly zveřejněny odkazy na přednášku -- uvedeny uvnitř
následujících dokumentů.
Guido van Rossum přednáší v prostorách firmy Google ve středu 22. února 2006.
Za skvělý přepi
- GvR
- .. image:: http://www.artima.com/images/guido.jpg
:align: right
Často používaná zkratka označující tvůrce jazyka Python -- plným jménem Guido van Rossum.
Jeho blogy:
http://neoPythonic.blogspot.com/ (aktuální)
http://www.artima.com/weblogs/index.jsp?blogger=guido
- HadPython
- Had Python
Další vyhlášená nevyhlášená soutěž::
Dokazete si predstavit prihodnejsi hru v Pythonu nez hada? ;o)
Martin Petr (farundel@gmail.com)
Řešení:
Jiří Vít: -- tady je verze pro modul "Console":http://effbot.org/zone/console-handbook.
- HonzaSvec
- Zde by časem mohl vyrůst archiv mé dosavadní tvorby pro `!PyCZ <http://www.py.cz>`_. Pro začátek určitě vezmete za vděk alespoň následujícími odkazy:
- Učebnice jazyka Python je překlad originálního `tutorialu <http://www.Python.org/doc/2.2/>`_ jazyka Python ve verzi 2.2. Originální tutorial je napsán Guidem van Rossumem a Fredem L. Drakem. V roce 2002 jsem se rozhodl přeložit tento tutorial jako pomoc všem dalším
- IDLE
- IDLE (Python GUI)
====================
.. image:: py30.png
:align: right
.. image:: py25.png
:align: right
První editor, po kterém absolutní začátečníci asi sáhnou, protože se dodává přímo s distribucí Pythona. V Pythonu 3.2 je ve verzi 3.2, v 2.5 je
- IndexError
- IndexError: list index out of range
Pokoušíme-li se přistupovat k prvku seznamu, který neexistuje, který je mimo rozsah délky seznamu, dostáváme chybu IndexError. Příklad ::
>>> jazyky=["Python","C","Java"]
>>> jazyky[100]
Traceback (most recent call last):
File "<stdin>", line 1, in ?
IndexError: list index out of range
- InstalaceJython
- <h2>Co je to Jython?</h2><br>
Jython je spojení Javy a Pythonu. Je to skvělá kombinace, protože Python je jeden z nejefektivnějších jazyků a Java má velké množství balíčků. Dříve se jmenoval JPython, ale verze 1.1 (asi... doplňte mně) je to Jython.
<br><br>
<h2>Stažení překladače</h2><br>
Překladač Jythonu l
- InstalaceLinux
- Dobrá zpráva
==============
.. image:: py30.png
:align: right
.. image:: py25.png
:align: right
Protože ve většině Linuxových distribucí je menší či větší část instalačních
a konfiguračních nástrojů napsána právě v jazyce Python, je opravdu
velká šance, že jej máte nainstalovaný, aniž by bylo potřeba cokoliv dělat.
Asi nejrychleji se o tom přesvědčíte v shellu::
$ Python -V
Python 2.4.2
Instalace Pythonu a modulů, atd.
----------------------------------
Pro p
- InstalaceModulu
- Instalace modulů v Pythonu
==============================
.. image:: py30.png
:align: right
.. image:: py25.png
:align: right
se dá provádět několika způsoby. Ve **Windows** často existuje nějaký ten instalační exe, který vše zařídí. Pod **Linuxem** zase existuj
- InstalaceWindows
- Instalace je více než triviální
---------------------------------
.. image:: py30.png
:align: right
.. image:: py25.png
:align: right
Stáhněte příslušný soubor ``*.msi`` z http://www.python.org/download . Snad budete chtít při instalaci zvolit jiný adresář než root ``c:\``, aby se vám tento moc nerozrůstal, nebo aby to nebylo na první pohled vidět. Dvojitý klik na msi souboru a pak jen next, next, a finish. Je možno instalovat jak p
- IteratorIterable
- Python iterator, iterable
============================
posloupnost
----------------
řetězec, unicode řetězec, seznam, n-tice, buffer, xrange. Všechno, co se dá rozložit na prvky - řetězec na znaky, seznamy na prvky, ...
iterator
-----------
proměnná, k
- JakeZvolitGUI
- Svoboda volby je někdy na překážku. Přesně tak to vidí začátečníci v Pythonu,
když se rozhodují, kterému GUI se věnovat. Tento list by chtěl v tomto alespoň
trochu pomoci.
.. image:: py30.png
:align: right
.. image:: py25.png
:align: right
Čtyři hlavní GUI
=================
V Pythonu máme 4 hlavní GUI: [Tkinte
- JakOdstranitInstanciZPameti
- Jak odstranit nepotřebnou instanci třídy z paměti
=======================================================
Dotaz z konference
---------------------
Pratele, potreboval bych poradit jak uvolnit pamet v pythonu, respektive jak
odstranit nepotrebnou instanci tridy z pameti. Zkousel jsem prikaz del. Po
provedeni "del" na instanci tridy je vsak pamet zaplnena furt stejne
(sledovano pomoci top v linuxu). Mozna na to jdu uplne spatne. Vi nekdo jak
provest uv
- JakSePtat
- Pravidla slušného chování v konferenci
======================================
.. contents:: Obsah
Jsme rádi, že ses přihlásil do poštovní konference python@py.cz. Abychom
předešli zbytečným nedorozuměním, rádi bychom ti hned na začátku sdělili
jistá pravidla fungování, na kterých jsme se dohodli a která se nám
osvědčila.
Před posláním dotazu do poštovní konference je dobré chvíli přemýšlet.
Uvědom s
- JakVyplnitFormular
- Jak vyplnit webový formulář z Pythona
========================================
Teorie
---------
Pokud znám políčka a strukturu předem, pouze vytvořím příslušnou HTTP
hlavičku následovanou daty s odpověďmi (viz specifikace HTTP protokolu)
a pošlu vše přes sokety na příslušnou IP
- JmenaPromennych
- - !KapitalizovanaSlova
- smisenyStyl (odlišuje se od !KapitalizovanychSlov malým počátečním písmenem)
- Kapitalizovana_Slova_S_Podtržítky (fuj!)
Podtržítka na začátku nebo konci jména
Proměnné s podtržítky na začátku nebo konci mají v Pythonu speciální význam a kombinují se s kterýmkoliv stylem:
- **_jedine_podtrzitko_na_zacatku**: slabý indikátor "pro vnitřní použití"
(např. "from M import *" neimportuje objekty, jejichž jména začínají podtržítkem).
- <b>jedine_podtrzitko_n
- KKYSeminarPython
- Seminář Python pořádaný na KKY/UI ZCU v prosinci 2006
--------------------------------------------------------
!`Jan Švec: Úvod`__
__ Python_svec.pdf
!`Dan Tihelka: SWIG a MPI`__
__ Python_DT.ppt
!`Jakub Kanis: Jak na XML`__
__ Seminar_Python.ppt
!`Jiri
- KlicovaSlovaAPojmy
- Klíčová slova jazyka Python
Následující identifikátory jsou vyhrazená slova,
klíčová slova jazyka a nemohou být jinde a jinak použity::
and del for is raise
assert elif from lambda return
break else
- KonferenceDiskuze
- České a Slovenské konference programovacího jazyka Python
=============================================================
.. image:: py30.png
:align: right
.. image:: py25.png
:align: right
Místní konference Python@py.cz
------------------------------------------------
Konference pro všechny a vše
- LadeniDebugging
- O tom, že jste v debuggeru vás přesvědčí prompt, který se změní na (Pdb). Potom funguje příkazy jako n (next - krok dopředu), l (list - výpis kodu), b (breakpoint - nastavení zarážky) ... Výpis vše získáte pomocí help, v nápovědě k pdb http://docs.python.org/lib/module-pdb.html
Příklady
----------
Zastavení programu na určitém místě
...................................
Umístněte následující dva řádky na místo, kde chcete, aby se provádění programu zastavilo a předalo řízení debuggeru, tedy v
- LogikVPythonu
- Logik v Pythonu
Vyhlášená nevyhlášená soutěž::
Znáte to. Vyberou se čudlíky několika
barev a do zakrytého místa se umístí
jejich kombinace. Protihráč se snaží
kombinaci uhodnout. Je hodnocen bílými
a černými kolíky, kdy černý znamená
"uhodl's barvu a je i
- LogoZnak
- www.python.org
"python.org":img:http://www.python.org/images/python-logo.gif
Další oficiální loga: http://www.python.org/community/logos/
<h2>Logo českého www.py.cz</h2>
<img src="logo.jpg" border="0">
<h2>Návrhy ze soutěže o logo py.cz ze srpna 2005
- ModPython
- .. image:: mod_python.gif
mod_python
------------
Mod_python je modul do serveru 'Apache', který umožňuje spouštět interpret pythonu uvnitř serveru. S mod_pythonem můžete psát webové aplikace v pythonu, které poběží několikrát rychleji než tradiční CGI a umožní vám
- ModulyAplikace
- Je jasné, že nikdo nikdy nemůže vytvořit plný seznam aplikací, utilit a programů, které jsou v Pythonu napsané. Ještě horší je pak takový seznam udržovat. Příkladem budiž snad:
- http://wiki.Python.org/moin/Applications
- http://wiki.Python.org/moin/ApplicationFrameworks
- http://www.Python.org/about/apps/
- http://www.Python.org/about/success/
- MySQL
- <img src=http://www.mysql.com/common/logos/mysql_100x52-64.gif>
<p>Pokud chcete aby vám Python spolupracoval s databází MySQL je potřeba si nainstalovat rozšíření <a href="http://sourceforge.net/projects/mysql-Python">mysql-Python</a>. Na stránkách projektu je ke stažení instalační soubor pro Windows. V Linuxu je možno použít balíčky které
- NahratiObrazku
- Image, ImageTk
root=Tkinter.Tk()
platno=Tkinter.Canvas()
platno.pack()
obrazekRaw = Image.open("hrdina.jpg")
obrazek = ImageTk.PhotoImage(obrazekRaw)
polozka = platno.create_image(100, 100, image=obrazek)
root.mainloop()
Python Imaging Library (PIL)
http://www.Pythonware.com/products/pil/ , tak lze obrázek otevřít do programu,
který je v os pro příslušný typ nastaven::
import Image
img = Image.open("test.jpg")
img.show()
[PyGTK]
A takto by to bylo v PyGTK::
- NapovedaKModulum
- jí další moduly, které dokáží tyto dokumentační řetězce se souborů vysbírat a v přehledné formě zobrazit. Jedním z nich je *pydoc*, který je dodávám přímo v distribuci.
pydoc
-----
pydoc.py se pod Windows spouští spouštěcím linkem ze Startu, .., Python24. *Module Docs*. Kdo ve Startu tento link nenajde, může modul spustit z adresáře Python24/Lib, kde ``pydoc.py`` standardně leží; v grafickém režimu se tento spouští s parametrem -g: ``Python pydoc.py -g``. Další možné parametry získáte, spustíte-
- ObjektyJazykaPython
- <h1>
Objekty v Pythonu
</h1>
<p>
Autor: Fredrik Lundh | http://effbot.org/zone/Python-objects.htm | December 12, 2000
</p>
<p>
Překlad: Pavel Kosina | http://www.geon.wz.cz | 21. červenec 2005<br>
Korektura: Petr Přikryl | http://www.s
- OptimalizacniHistorka
- í rychlejší smyčky ve funkci ``reduce()``.
"Samozřejmě", odpověděl jsem, "ale moc si nepomůžeme - cena volání funkcí (lambda funkce) pro každou položku obsaženou v seznamu je poměrně vysoká. Vsadím se, že to bude pomalejší, režije volání funkcí v Pythonu je větší než režije smyčky ``for``".
(Ok, udělal jsem porovnání a ``f2()`` trvá o 60% déle než ``f1()``. Takže asi tak :-) )
"Hmm", odvětil kamarád. "Ale já to potřebuji mít ještě rychlejší". Nabídl jsem mu tedy následující verzi:
::
def
- Oracle
- Python a Oracle
"cx_Oracle":http://www.computronix.com/utilities.shtml
Modul "cx_Oracle":http://www.computronix.com/utilities.shtml je zatím to nejlepší, co jsem vyzkoušel a používám. Hlavně to funguje. ("stránka projektu, licence atd.":htt
- ParsovaniWeboveStranky
- <h1>Stažení a zpracování HTML stránky</h1>
Princip stažení je stejný jako v StazeniWeboveStranky. Například tedy takto::
import urllib
fp = urllib.urlopen('http://www.py.cz/PythonZaciname')
data = fp.read()
fp.close()
Webovou stránku ale stahujeme abychom z ní něco vydolovali. Například: "Najdi všechny odkazy" nebo "Najdi všechny odkazy třídy <tt>vnejsiOdkazy</tt> nebo "Najdi všechny odkazy jejichž url je "neco.cz" neb
- PastiJazykaPython
- <h1>10 pastí jazyka Python</h1>
<hr>
<p>(C) 2003 <a href=
"mailto:hans@zephyrfalcon.org?subject=Python%20pitfalls">Hans
Nowak</a>. Written: 2003.08.13. Last update: 2003.09.05.<br>
Díky Blake Winton, Joe Grossberg, Steve Ferg, Lloyd Kvam za
hodnotné připomínky.</
- path
- Modul path
==========
Modul stáhnete na http://www.jorendorff.com/articles/python/path/ nebo http://pypi.python.org/pypi/path.py, rozbalíte a nainstalujete standardně pomocí ``python setup.py install``.
Jak začít
---------
Začněte třeba takto::
from path import path
# pak vytvoříte instance path voláním
prom = path('
- PocetInstanciObjektu
- def __init__(self):
self.__class__.inst.append(self)
c=MojeTrida()
c2=MojeTrida()
c3=MojeTrida()
Nevýhoda: instance se po zániku nebudou uvolňovat.
Třetí příklad - slabé reference
::
#!/usr/bin/python
import weakref, gc
class Counted:
reflist = []
def __init__(self):
Counted.reflist.append(weakref.ref(self))
def get_count(self):
self.reflist = [x for x in self.reflist if x() != None]
- Pomoc!ScriptyNefunguji
- Budete-li si chtít zkoušet scripty a příklady z této wiki, pomocí Kopírovat & Vložit je přenášet do svého editoru, budete někdy muset *odstraňovat mezery z počátků řádků*. Pokud byste mezery neodstranily, skripty prostě nebudou fungovat, protože Python je na odsazování *velmi* citlivý.
Ukázkový příklad
::
def mocnina(x,y=2):
r=1
for i in range(y):
r=r*x
return r
for i in range(50):
print i, mocnina(i,33)
- PosilaniEmailu
- body = """
first self-sending program :)
maybe for inclusion in ctypes?
regards,
Niki Spahiev
""",
addresses = [
(1,'ctypes-users@lists.sourceforge.net'),
(2,'python-list@python.org')],
attach = ['ct_mapi.py'],
)
- Predefinovanie operatorov
- Predefinovanie operátorov
--------------------------
Operátory v pythone môžeme predefinovať. To znamená používať operátory, napr. +,-,/, and,< atď. s našimi triedami.
Príklad::
class C(object):
def __init__(self, h1, h2): # trieda bude obsahovať 2 hodnoty: hodnota1, hodnota2
self.h
- PrednaskaGvRPythonInNewYorkI
- ::
===============================================================
Guido van Rossum: Python in New York
Part I -- The Origins of Python
===============================================================
Google New York's Technical Speaker Series.
Guido van R
- PrednaskaGvRPythonInNewYorkII
- ::
===============================================================
Guido van Rossum: Python in New York
Part II -- State of the Python Universe, 2006
===============================================================
Google New York's Technical Speaker Series.
Guido van Ro
- PSPad
- PSPad
=========
.. image:: py30.png
:align: right
.. image:: py25.png
:align: right
Jak nastavit PSPad, aby práce při programování v Pythonu byla příjemná a efektivní? Máme pro vás pát tipů, pokud znáte další, neváhejte je doplnit. Po bezproblémové instalaci z http://www.pspad.com doporučujeme následující:
.. image:: pspad.jpg
Nastavení - Nastavení zvýrazňovačů
--------------------
- Pyastra
- Pyastra (!PYthon !ASsembler !TRAnslator)
je překladač z PYthonýrského kódu do assembleru pro <b>PIC</b> (jednočipový procesor). Nejprve vezme soubor s kodem v PYthonu a pokud neobsahuje chyby tak vygeneruje assemblerový kód. Ten lze pak přeložit nějakým assemble
- PyCz
- Česká komunita programátorů a uživatelů jazyka Python
=====================================================
Právě se nalézáte na webových stránkách lidí, pro které se programovací jazyk Python stal koníčkem a zábavou a/nebo nutností a prací. Toto jsou wiki stránky, což kromě jiného značí, že i vy sa
- PyQt_PySide
- .. image:: py30.png
:align: right
.. image:: py25.png
:align: right
Python vazby na knihovnu Qt, aneb !PyQt a spol.
===============================================
Qt http://qt-project.org/ je C++ GUI knihovna (resp. knihovna s přidaným preprocesorem), kterou lze použít na celé řadě platforem. Na výběr je několik licenčn
- PySerial
- Python a sériový port
====================================
Pokud se podobně jako já rozhodnete pracovat se sériovým portem prostřednictvím Pythona, možná Vám pomůže pár následujících řádků.
pyserial (pod Windows)
-----------------------
Knihovna, kter
- Pysqlite
- <h1>Pysqlite</h1>
<p>Databáze jsou pro větší i menší programy velkým přínosem. Umožňují rychlejší přístup k datům a rychlejší zapisování. Od pythonu 2.5 je součástí standardní distribuce modul <a href='http://www.python.org/doc/2.5/lib/module-sqlite3.html'>sqlite3</a> (pokud používáte nižší verzi pythona, stáhněte si knihovnu na <a href='http://oss.itsystementwicklung.de/trac/pysqlite/'>ofici
- Python v Antice
- Pythón v antice.
==================
**Pythón** (někdy nazývaný též Delfynés) - ohavný drak se šupinatým hadím tělem, syn bohyně Gáie.
Podle věštby jej měl zabít potomek bohyně Léty, kterou pronásledoval.
K pronásledování bohyně Léty byl donucen bohyní Hérou,
která tak chtěla pomstít nevěru svého muže Dia.
Za toto pronásledování se pomstil syn bohyně Létó - Apollon.
Již devátý den po svém narození našel Pythóna v rokli pod horou Parnas, kde jej svými šípy zabil.
Na Pythónův hrob Apollon položi
- PythonAGlade
- .. image:: py25.png
:align: right
Python a Glade
=================
Jak určitě víte, existuje skvělý nástroj na naklikání GTK+ widgetů - glade http://glade.gnome.org/ (případně glade pro windows http://gladewin32.sourceforge.net/modules/news/). Z něj vyleze XML soubor, který se da použít
- PythonHosting
- Python Hosting v Česku
========================
Placené:
---------
- http://www.forpsi.com - popis aktivizace Python scriptů na http://spokojeny.blogspot.cz/2013/05/jak-na-Python-na-forpsicom.html
- http://www.rosti.cz/ Hosting Pythoních aplikací přes
- PythonicWay
- Existují speciální techniky, **pythonýrské způsoby**, které python výrazně odlišují od jiných jazyků a činí ho tak přehlednějším. Zde se o nich můžete dočíst více. Čím více jich znáte, čím víc jich využíváte, tím více jste pythonýr! :-)
- PythonUnicodeCestina
- Python, Čeština a Unicode
============================
.. image:: cz.png
:align: right
Každý národ má menší nebo větší starosti se správným fungováním svého jazyka na klávesnici i obrazovce. U nás jsou to nabodeníčka, tedy háčky, čárky. Python kla
- PythonZaciname
- Začínáme s jazykem Python
===========================
.. contents:: Obsah
Python je skvělý programovací jazyk pro začátečníky i pro pokročilé, pro studenty i pro vydělávající programátory. Programy se v něm tvoří rychleji než v mnoha jiných jazycích i proto, že se dodává
- PyWin32
- PyWin32
**win32all, pywin32, Python Win32 Extensions a/nebo Python for Windows Extensions** - synonyma, pod kterými se na Netu ukrývá
Jedná se balík modulů pro práci pod Windows. Obsahuje modul pro práci s !WinAPI (win32api), s registry (_winreg), s Microsoftí technologií COM (win
- RegularniVyrazy
- Regulární výrazy v Pythonu
============================
Jako základ (pokud není uvedeno jinak) je ve všech následujících příkladech brán tento idiom:
>>> Python=u"""Python je skvělý objektově orientovaný, interpretovaný a
interaktivní programovací jazyk. Často je srovn
- reStructuredText
- section.
Body Elements
=============
Paragraphs
----------
A paragraph.
Inline Markup
`````````````
Paragraphs contain text and may contain inline markup: *emphasis*,
**strong emphasis**, ``inline literals``, standalone hyperlinks
(http://www.python.org), external hyperlinks (python_), internal
cross-references (example_), external hyperlinks with embedded URIs
(`python web site <http://www.python.org>`__), footnote references
(manually numbered [1]_, anonymous auto-numbered [#]_, labeled
aut
- reStructuredTextZaklady
- meno
- `Pískoviště </WikiPiskoviste>`_ - odkaz na wiki stránku, pokud nestačí obyčejné WikiPiskoviste
- `Formátovaní písma`_ - odkazy na nadpisy jsou jednoduché
Externí odkazy
-----------------
- http://docutils.sourceforge.net - prostý odkaz
- Python_ - odkaz
- `Python web site`_ - odkaz s mezerami
- `Python web site <http://www.Python.org>`_ - odkaz s mezerami jinak
.. _Python: http://www.Python.org
.. _Python web site: http://www.Python.org
Kody
========
Blok kodu s "::"::
import ran
- RozhovorCast1
- Rozhovor s Guido van Rossumem, část 1.
======================================
Autor jazyka Python Guido van Rossum odpovídá na otázky Billa Vennera o
historii Pythonu, o vlivu jazyka ABC na vývoj Pythonu a o hlavních cílech
při vývoji Pythonu.
Originál rozhovoru je dostupný na http://www.artima.com/intv/guido.html .
:Author: `Jan Švec <mailt
- RozhovorCast2
- Rozhovor s Guido van Rossumem, část 2.
======================================
Autor jazyka Python Guido van Rossum odpovídá na otázky Billa Vennera o
historii Pythonu, o vlivu jazyka ABC na vývoj Pythonu a o hlavních cílech
při vývoji Pythonu.
Originál rozhovoru je dostupný na http://www.artima.com/intv/guido.html .
:Author: `Jan Švec <mailt
- RozhovorCast3
- Rozhovor s Guido van Rossumem, část 3.
======================================
Autor jazyka Python Guido van Rossum odpovídá na otázky Billa Vennera o
historii Pythonu, o vlivu jazyka ABC na vývoj Pythonu a o hlavních cílech
při vývoji Pythonu.
Originál rozhovoru je dostupný na http://www.artima.com/intv/guido.html .
:Author: `Jan Švec <mailt
- RozhovorCast4
- Rozhovor s Guido van Rossumem, část 4.
======================================
Autor jazyka Python Guido van Rossum odpovídá na otázky Billa Vennera o
historii Pythonu, o vlivu jazyka ABC na vývoj Pythonu a o hlavních cílech
při vývoji Pythonu.
Originál rozhovoru je dostupný na http://www.artima.com/intv/guido.html .
:Author: `Jan Švec <mailt
- RozhovorCast5
- Rozhovor s Guido van Rossumem, část 5.
======================================
Autor jazyka Python Guido van Rossum odpovídá na otázky Billa Vennera o
historii Pythonu, o vlivu jazyka ABC na vývoj Pythonu a o hlavních cílech
při vývoji Pythonu.
Originál rozhovoru je dostupný na http://www.artima.com/intv/guido.html .
:Author: `Jan Švec <mailt
- RozhovorCast6
- Rozhovor s Guido van Rossumem, část 6.
======================================
Autor jazyka Python Guido van Rossum odpovídá na otázky Billa Vennera o
historii Pythonu, o vlivu jazyka ABC na vývoj Pythonu a o hlavních cílech
při vývoji Pythonu.
Originál rozhovoru je dostupný na http://www.artima.com/intv/guido.html .
:Author: `Jan Švec <mailt
- RozhovorGuidoVanRossum
- Rozhovor s Guido van Rossumem
=============================
Autor jazyka Python Guido van Rossum odpovídá na otázky Billa Vennera o
historii Pythonu, o vlivu jazyka ABC na vývoj Pythonu a o hlavních cílech
při vývoji Pythonu.
Originál rozhovoru je dostupný na http://www.artima.com/intv/guido.html .
:Author: `Jan Švec <mailt
- RuntimeError
- RuntimeError
============
Bad magic number
----------------
Chyba vznikne, když se pokoušíte spouštět soubory `*.pyc`, což jsou zkompilované `*.py`, pod jinou verzí Pythona, než byly vytvořeny. Tedy například `*.pyc` z Python 2.3 na Python 2.5.
Dictionary changed size during iteration
----------------------------------------
K chybě dojde, pokud v průběhu iterace přes dict (nebo list) se pokusíme tento změnit. Nap
- SachovniceMrizka
- <img src="py25.png" align=right>
Na počátku byl v konferenci py.cz nevinný dotaz:
Jak se udělá v pythonu mřížka s devíti čarami svisle a devíti čarami vodorovně?
Někdo se dožadoval upřesnění, někdo od ruky vysmahnul textové řešení. Pár odpovědí::
# Napr. takto :-)
# _ _ _ _ _ _ _ _
# |_|_|_|_|_|_|_|_|
# |_|_|_|_|_|_|_|_|
# |_|_|_|_
- SinSlavy
- Tato stránka by mohla sloužit jako poděkování pro ty, kteří udělali pro Python v Česku něco více.
Přispívat může každý, jsem zvědav, kdo přidá sám sebe ;-). Sám k sobě by pak mohl člověk napsat nějaký kontakt. Mazat by měl jen ten, kdo chce smáznout sám sebe, pokud nestojí o publicitu nebo si myslí, že sem nepatří. Vlastní
- SoutezeHlavolamy
- Python Challenge
Jedna světová soutěž na téma Python Is Fun super extra klasa: http://www.Pythonchallenge.com/. V současnosti je tam 33 levelů.
- Sphinx
- mě toho, že doplní všechny html značky, umí navíc ještě následující:
- vytváří index klíčových slov
- vytváří vyhledávací pole
- vytváří index modulů
- a mnoho dalšího
- vypadá graficky profesionálně
- odpovídá stylu dokumentace k Python 3.0
- přes css je možnost úprav
- a mnoho dalšího
Následující postup platí jak pro Linux, tak pro Windows.
Instalace
------------
Stažení a instalace je doporučována přes *easy_install*. Kdo má, stačí napsat::
easy_install sphinx
Kdo nemá
- SpousteniExternichProgramu
- V Pythonu existuje několik způsobů, jak spustit externí program (exe, com, bat, ...) nebo otevřít soubor, který je asociovaný s nějakou aplikací.
Spouštění jiného Pythonovského skriptu
=======================================
Příklad::
execfile('muj
- StandardniPripony
- Standardní přípony po instalaci
==================================
.. image:: py30.png
:align: right
.. image:: py25.png
:align: right
:.py: je normalni zdrojovy kod
:.pyc: je je zkompilovany zdrojovy kod - pokud jej Python najde a cas souboru je novejsi nez cas souboru odpovidajiciho .py souboru, pouzije se rovnou zkompilovany. Pokud je .pyc starsi nez odpovidajici .py, tak je ten zkompilovany smazan a .py je zkompilovan znovu a ulozen do .pyc
:.pyo: je totez jako
- StazeniArchivuKonference
- Mailman
--------------
Poštovní konference jazyka Python jsou většinou řízeny programem Mailman. Tento program vytváří měsíční archivy a někdy také celkový archiv od začátku trvání konference. Tak je tomu i na tomto webu, ale např.na http://mail.Python.org/pipermail/Python-list/ celkový souhrný archív n
- SyntaxError
- Non-ASCII character ... in file ...
=====================================
Máte-li v Python 2.5 někde v programu český znak a zapomenete-li uvést na začátku programu deklaraci kódování, dostanete následující chybovou hlášku::
File "...\W7553197.py", line 1
SyntaxError: Non-ASCII character '\x9f' in file ...W7553197.py on line 1,
- TextovaSifra
- jednom řetězci
veta="20O21S08E01H03Z24I04K02E09 17E15 06 12P05Y19 11E23L14I16N26Y13S18Z25V10L22K07J".
Vyloučeno bylo tímto způsobem 1 řešení.
V kategorii obyčejné vyhrálo to řešení, které se mi zdálo, že když se na to podívá někdo, kdo nikdy Python neviděl, že má velkou šanci na pochopení.
V kategorii extra porota zvolila to řešení, které svého času, rozpoutalo bouřlivou diskuzi v konferenci.
Pro šťouraly
Já jsem se nezůčastnil ;-) . Řešení jsem si dovolil dát na svůj web, proto
- ThreadySockety
- ště k tomu nějakou teorii.*
Zdravím,
=========
tady je něco jako koncept klient-server aplikace, která používá TCP
(omlouvám se za délku, ale myslím že mít funkční příklad je lepší
než nějaké útržky kódu)
**=== server.py ===**::
#!/usr/bin/python
# -*- coding: utf-8 -*-
import socket
import thread
import time
import message
LOCALHOST=''
DEFAULT_PORT=43210
def clientHandler(dataSocket):
try:
while 1:
data
- Thunderbird
- Konference Python a Thunderbird
---------------------------------
Používáte-li jako klienta pro čtení příspěvků konference Python Thunderbirda, je problém s věrným zobrazováním Pythonovského promptu ">>>" v příkladech od přispěvatelů. Prompt je většinou uvozen na
- Tkinter
- Co je to Tkinter?
-------------------
.. image:: py30.png
:align: right
.. image:: py25.png
:align: right
Modul Tkinter je tenká pythonovská vrstva nad grafickou knihovnou Tk/Tcl. GUI Tk je sada widgetů definovaná John K. Ousterhoutem již v roce 1987. Od té doby přišlo mnoho nových verzí a vylepšení. Tkinter umožňuje programátorovi vytvářet klasické okenní aplikace, jak je na ně z
- TkinterCommand
-
lambda: pis(1)
lambda: pis(2)
....
Cili ve vasem pripade v tom cyklu v podstate vznikne 10 shodnych
funkci, ktere si hodnotu prvku zjistuji az za behu a ta je
po skonceni cyklu rovna hodnote 10. Vice o tom najdete pres
klicova slova "python closures".
Aby to fungovalo, musi se pouzit nejaky trik::
lambda p=prvek: pis(p)
nebo::
new.instancemethod(lambda p:pis(p), prvek, type(prvek))
Tim se vygenerovana instance lambda funkce vzdy svaze s konkretnim prvkem.
Prvni varianta
- TkinterSouboryAdresare
- if file:
data = file.read()
file.close()
print ("Tento soubor má %d bytů." % len(data))
Dialog "Uložit jako"
....................
::
import tkinter, tkinter.filedialog
mask = [
("Text files","*.txt"),
("Python files","*.py *.pyw"),
("All files","*.*")]
# if the filename does not have <strong class="highlight">extension</strong>
# it will add the specified defaultextension
root = tkinter.Tk()
soubor = tkinter.filedialog.asksaveasfile(
- TkinterTriky
- aci těžko hledá...
.. image:: py25.png
:align: right
Bez černého konzolového okna
------------------------------------
Pokud nechceme, aby se otevíralo černé dosovské okno, stačí dát příponu programu ``*.pyw`` nebo ke spouštění použít místo python.exe pythonw.exe. Nevýhoda tohoto způsobu při vytváření aplikace je jasná: neuvidíte případné chybové hlášky a nebudete moci ani používat print.
Řešením tohoto problému nicméně může být přesměrování stdout a stderr do okna. Následující příklad to
- TutorialyLiteratura
- <h2 style="margin-bottom: 0px;">Česká* díla o jazyce Python</h2>(vedoucí mimo tuto wiki)
<p>
</p><h3>Tutoriály a učebnice v elektronické podobě</h3>
<table style="width: 100%;" border="1" cellpadding="2" cellspacing="0">
<tbody>
<tr bgcolor="#ff8112"> <td>Název</td> <td>Pro Python<
- TypeError
- cannot concatenate "str" and "int" objects
Tato častá chyba se stane, pokud se snažíte sčítat "hrušky a jablka". V tomto případě se snažíte sčítat řetězec ("str") a číslo ("int"). To prostě Python nedokáže. Python dokáže sečíst dvě čísla, dokáže také sečíst (spojit) dva řetězce nebo dokonce i dva seznamy pomocí znaménka + (plus). Ale sečíst ' "a" + 1 ' to neumí. Příklad::
>>> 1+2
3
>>> "a"+"b"
'ab'
>>> [4]+[5]
[4,
- Ukazatele
- Python a ukazatele
=================================
Dotaz
----------
Dobrý den, zajímalo by mne, zda Python zná něco jako ukazatele.
Kouknul jsem na pár webových stránek, ale moudřejší z toho nejsem,
vypadá to spíš, jako by toto Python neuměl.
Odpově
- UlozeniErrorLoguDoSouboru
- V jednom z programů jsem potřeboval logovat chyby do databáze, nejvíc se mi líbil klasický pythonní výpis chyby::
Traceback (most recent call last):
File "Z:\python\errory\pok_01.py", line 40, in ?
pepa()
File "Z:\python\errory\pok_01.py", line 17, in pepa
print "a"+1
TypeError: cannot concatenate 'str' and 'int' objec
- UnboundLocalError
- kce1(). Hodnota proměnné x se pouze
zpracuje jiným způsobem.
Zkuste ale tohle::
# soubor c.py
x = 10
def funkce3():
x = x + 1
print x
funkce3()
Při pokusu o spuštění se ukáže toto...::
C:\tmp>python c.py
Traceback (most recent call last):
File "c.py", line 7, in ?
funkce3()
File "c.py", line 4, in funkce3
x = x + 1
UnboundLocalError: local variable 'x' referenced before assignment
Jak už bylo uvedeno výše,
- VedeckeVypocty
- Python ve vědeckých počtech
=============================
Historie
-------------
Nejdříve trocha historie. Modul [Numeric] (neboli Numerical Python neboli numpy) byl první svého druhu (hlavně maticové výpočty) v Pythonu. Byl (a dosud je) dosti úspěšný a
- VIM
- VIM je čistě konsolový editor v Linuxu, existuje však již i okenní verze jak pro Linux, tak pro Windows. Vše nejlépe stahovat ze http://wwww.vim.org . Je tam i spousty dodatečných modulů na příjemnější a efektivnější práci s tímto editorem.
VIM a Python
-----------------
Následuje pár tipů pro lepší práci s Pythonýrskými programy a scripty. Neváhejte přidávat či opravovat, pokud znáte a chcete.
.vimrc::
set expandtab "misto tab mezery
set tabstop=4 "velikost tabu
s
- VytvareniExeSouboru
- Vytváření exe souborů
======================
Přestože na každém dobrém stroji je Python nainstalovaný, a pokud není, tak je často lepší ho tam nainstalovat a volat skripty zcela průhledně, tak přesto někdy může být potřeba nějaký ten exe vytvořit.
*Důvody* vytváření exe mohou být různé:
- od toho nejelementárnějšího: jestli to jde
- VytvoreniWww-HTMLTags
- !"HTMLTags":http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/366000 aneb jak vytvořit statickou HTML stránku
Na této stránce http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/366000 nebo <a href="HTMLTags.py">zde</a> si zkopírujte kód modulu a uložte pod jménem !HTMLTags.py. Pozor na velikost
- WikiPiskoviste
- a.hledat, zmena.nova = hledat.strip(), radek.strip()+"\n"
if radek.startswith("delete"):
zmena.nova=""
seznam.append(zmena)
# tisk(seznam)
return seznam
.. admonition:: Python
3.0
::
def nactiData(data):
"Načte definiční soubor s požadovanými změnami"
seznam=[]
s=data.split("\n")
for radek in s:
if radek and not radek.startswith("#"):
- wxPython
- .. image:: py25.png
:align: right
wxPython
============
Citát: is the best and most mature cross-platform GUI toolkit, given a number of constraints. The only reason wxPython isn't the standard Python GUI toolkit is that Tkinter was there first.
Guido van Rossum
wxPython (http://wxpyt
- ZalozkyOblibene
- Python Záložky
=================
.. image:: py30.png
:align: right
.. image:: py25.png
:align: right
Jako počátek je to vytaženo ze záložek Firefoxe. Neváhejte s přidáváním, opravováním, mazáním, přeskupováním, apod. At je to aktuální a funkční.
- Zaokrouhlovani
- .. admonition:: Python
3000
Zaokrouhlování
================
Od Python 3.0 dostala funkce pro zaokrouhlování round() vcelku zvláštní význam. Zaokrouhlení neprobíhá jako v 5. třídě - od 5 nahoru nahoru - ale jako na vysoké škole u statistiků podle pravidla round
- ZpracovaniCsvSouboru
- Sedlo
Jitka Poláčková; maslo; Jičín
Kamil Pařát; tlapka; Budějice
Zde například je v prvním poli jméno, pak přezdívka a město. Tyto typy souboru jsou jednoduše editovatelné a přenositelné. Pod Windows je dokonce podporuje i Excel ;-).
Python nabízí pro snadnou práci s těmito soubory modul csv. Níže uvedený příklad soubor načte, projede všechny položky, převede je na malá písmena a uloží do jiného csv souboru::
# -*- coding: cp1250 -*-
import csv, string, os
sNazev="