Re: [python] vypis adresare a podadresaru podle masky
Pripadne os.listdir() jen pro konkretni adresar. -Original Message- From: python-boun...@py.cz [mailto:python-boun...@py.cz] On Behalf Of Pavel Kosina Sent: Wednesday, January 07, 2009 12:11 PM To: Konference PyCZ Subject: Re: [python] vypis adresare a podadresaru podle masky Ondrej Beranek napsal(a), dne 7.1.2009 13:00: Ahoj, opet jsem tu s otravnou otazkou. nevite nekdo o nejake sikovne funkci ktera by podle zadane masky a adresare vratila seznam vsech souboru podle masky ? neco jako opět? si tedy nepamatuji ... asi hledáš glob. procházení podadresáři musíš udělat sám, myslím os.walk nebo os.path.walk. ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
[python] vypis adresare a podadresaru podle masky
Ahoj, opet jsem tu s otravnou otazkou. nevite nekdo o nejake sikovne funkci ktera by podle zadane masky a adresare vratila seznam vsech souboru podle masky ? neco jako dir *.txt /b /w /s (nebo find ./ | grep .txt) Zkousel jsem dircache ale zda se ze je na to naprosto nevhodny navic byl ve 2.6 pythonu zastaran a ve 3 uz neni vubec. ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] vypis adresare a podadresaru podle masky
Ahoj, ja na neco podobneho pouzivam rekurzivne volanou funkci os.listdir() Ze by nejaka funkce umela filtrovat to nevim. Pokud ale pouzijes os.listdir() s naslednym pouzitim regularniho vyrazu na vysledek, melo by to byt to co hledas. Tomas Dne 7.1.2009 13:00, Ondrej Beranek napsal(a): Ahoj, opet jsem tu s otravnou otazkou. nevite nekdo o nejake sikovne funkci ktera by podle zadane masky a adresare vratila seznam vsech souboru podle masky ? neco jako dir *.txt /b /w /s (nebo find ./ | grep .txt) Zkousel jsem dircache ale zda se ze je na to naprosto nevhodny navic byl ve 2.6 pythonu zastaran a ve 3 uz neni vubec. ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] vypis adresare a podadresaru podle masky
ten os.walk byl dobrý tip, teď jak s tou maskou nějak fikaně a chytře. zatim jsem vyplodil toto: import os directory = {} for root, dirs, files in os.walk('C:/devel/test'): directory[root]=files print directory což vytvoří zhruba to co potřebuji (potrebuju relativni cesty ale to je kosmeticka vec). No ale regularni vyraz aby umel pozrat hvezdickovou konvenci je na mne vysoka. Jde to udelat jinak nez modulem re ? Dne 7. leden 2009 13:28 Tomas Brabenec konfere...@brabenec.net napsal(a): Ahoj, ja na neco podobneho pouzivam rekurzivne volanou funkci os.listdir() Ze by nejaka funkce umela filtrovat to nevim. Pokud ale pouzijes os.listdir() s naslednym pouzitim regularniho vyrazu na vysledek, melo by to byt to co hledas. Tomas Dne 7.1.2009 13:00, Ondrej Beranek napsal(a): Ahoj, opet jsem tu s otravnou otazkou. nevite nekdo o nejake sikovne funkci ktera by podle zadane masky a adresare vratila seznam vsech souboru podle masky ? neco jako dir *.txt /b /w /s (nebo find ./ | grep .txt) Zkousel jsem dircache ale zda se ze je na to naprosto nevhodny navic byl ve 2.6 pythonu zastaran a ve 3 uz neni vubec. ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] vypis adresare a podadresaru podle masky
Pavel ti poradil dobre. Kombinace os.walk (popr. os.path.walk) a glob.glob (popr. glob.iglob) je to, co hledas. Leo Ondrej Beranek wrote: ten os.walk byl dobrý tip, teď jak s tou maskou nějak fikaně a chytře. zatim jsem vyplodil toto: import os directory = {} for root, dirs, files in os.walk('C:/devel/test'): directory[root]=files print directory což vytvoří zhruba to co potřebuji (potrebuju relativni cesty ale to je kosmeticka vec). No ale regularni vyraz aby umel pozrat hvezdickovou konvenci je na mne vysoka. Jde to udelat jinak nez modulem re ? Dne 7. leden 2009 13:28 Tomas Brabenec konfere...@brabenec.net mailto:konfere...@brabenec.net napsal(a): Ahoj, ja na neco podobneho pouzivam rekurzivne volanou funkci os.listdir() Ze by nejaka funkce umela filtrovat to nevim. Pokud ale pouzijes os.listdir() s naslednym pouzitim regularniho vyrazu na vysledek, melo by to byt to co hledas. Tomas Dne 7.1.2009 13:00, Ondrej Beranek napsal(a): Ahoj, opet jsem tu s otravnou otazkou. nevite nekdo o nejake sikovne funkci ktera by podle zadane masky a adresare vratila seznam vsech souboru podle masky ? neco jako dir *.txt /b /w /s (nebo find ./ | grep .txt) Zkousel jsem dircache ale zda se ze je na to naprosto nevhodny navic byl ve 2.6 pythonu zastaran a ve 3 uz neni vubec. ___ Python mailing list Python@py.cz mailto:Python@py.cz http://www.py.cz/mailman/listinfo/python ___ Python mailing list Python@py.cz mailto:Python@py.cz http://www.py.cz/mailman/listinfo/python ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python -- *Leoš Pol* senior programátor Lide.cz *Seznam.cz a.s.* Business Park, budova B Londýnské náměstí 2 639 00 Brno tel:+420 543 533 073 gsm:+420 777 901 087 email: leos@firma.seznam.cz mailto:leos@firma.seznam.cz www:http://www.seznam.cz ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] vypis adresare a podadresaru podle masky
což vytvoří zhruba to co potřebuji (potrebuju relativni cesty ale to je kosmeticka vec). No ale regularni vyraz aby umel pozrat hvezdickovou konvenci je na mne vysoka. Jde to udelat jinak nez modulem re ? Myslim, ze te zajima modul fnmatch (http://docs.python.org/library/fnmatch.html). Nevymyslel jsem to z hlavy, podival jsem se jak je v pythonu implementovany modul glob (python_dir/Lib/glob.py) Jirka ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] vypis adresare a podadresaru podle masky
Jestli Ti jde jen o priponu, muzes to udelat treba takhle: for file in files: if os.path.splitext(file)[1].lower() == '.txt': print file Tomas Dne 7.1.2009 13:53, Ondrej Beranek napsal(a): ten os.walk byl dobrý tip, teď jak s tou maskou nějak fikaně a chytře. zatim jsem vyplodil toto: import os directory = {} for root, dirs, files in os.walk('C:/devel/test'): directory[root]=files print directory což vytvoří zhruba to co potřebuji (potrebuju relativni cesty ale to je kosmeticka vec). No ale regularni vyraz aby umel pozrat hvezdickovou konvenci je na mne vysoka. Jde to udelat jinak nez modulem re ? Dne 7. leden 2009 13:28 Tomas Brabenec konfere...@brabenec.net mailto:konfere...@brabenec.net napsal(a): Ahoj, ja na neco podobneho pouzivam rekurzivne volanou funkci os.listdir() Ze by nejaka funkce umela filtrovat to nevim. Pokud ale pouzijes os.listdir() s naslednym pouzitim regularniho vyrazu na vysledek, melo by to byt to co hledas. Tomas Dne 7.1.2009 13:00, Ondrej Beranek napsal(a): Ahoj, opet jsem tu s otravnou otazkou. nevite nekdo o nejake sikovne funkci ktera by podle zadane masky a adresare vratila seznam vsech souboru podle masky ? neco jako dir *.txt /b /w /s (nebo find ./ | grep .txt) Zkousel jsem dircache ale zda se ze je na to naprosto nevhodny navic byl ve 2.6 pythonu zastaran a ve 3 uz neni vubec. ___ Python mailing list Python@py.cz mailto:Python@py.cz http://www.py.cz/mailman/listinfo/python ___ Python mailing list Python@py.cz mailto:Python@py.cz http://www.py.cz/mailman/listinfo/python ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] vypis adresare a podadresaru podle masky
Ondrej Beranek napsal(a), dne 7.1.2009 14:28: s vasi pomoci jsem uplacal funkci vracejici to co potrebuji. import os import glob [...] Trochu více pythonýrsky by to bylo takto: import os, glob def listFiles(path, mask): directory = {} for root, dirs, files in os.walk(path): maska=os.path.join(root,mask) soubory=glob.glob(maska) if soubory: directory[root]=soubory return directory print listFiles('i:\\python\\my_py','*.py') -- geon Pavel Kosina ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] vypis adresare a podadresaru podle masky
Trochu více pythonýrsky by to bylo takto: import os, glob Jenom drobne rypnuti (nechci rozpoutat flamewar) - doporucovany zpusob (PEP008) je: import os import glob Jirka ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] Styling
Ale na toto jsem nepristoupil. Nevidim duvod, proc plytvat na zacatku souboru cennym vertikalnim prostorem na treba 10 standardnich modulu. Cennym? V jakem smyslu? Prostor na obrazovce, disku? Ale vazne, jde o konvenci, nikdo nikoho nenuti. Lepe se to cte (aspon mne). Zrejme to zjednodusuje praci nekterym analyzatorum kodu (mozna, nejsem si 100% jisty). Ja to vidim tak, ze pri praci kdy muj kod muzou videt jini lide (a pracovat s nim), mel bych se maximalne prizpusobit standardum abych jim zjednodusil praci. Nic vic za tim neni. Jirka ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] vypis adresare a podadresaru podle masky
No vida, zase jsem o neco chytrejsi. :-D Tomas Dne 7.1.2009 14:28, Ondrej Beranek napsal(a): s vasi pomoci jsem uplacal funkci vracejici to co potrebuji. import os import glob def listFiles(path, mask): directory = {} for root, dirs, files in os.walk(path): files = glob.glob(root+'\\'+mask) if (files[]) : directory[root]=glob.glob(root+'\\'+mask) return directory print listFiles('C:\\devel\\test','*.xml) 2009/1/7 Jirka Vejrazka jirka.vejra...@gmail.com mailto:jirka.vejra...@gmail.com což vytvoří zhruba to co potřebuji (potrebuju relativni cesty ale to je kosmeticka vec). No ale regularni vyraz aby umel pozrat hvezdickovou konvenci je na mne vysoka. Jde to udelat jinak nez modulem re ? Myslim, ze te zajima modul fnmatch (http://docs.python.org/library/fnmatch.html). Nevymyslel jsem to z hlavy, podival jsem se jak je v pythonu implementovany modul glob (python_dir/Lib/glob.py) Jirka ___ Python mailing list Python@py.cz mailto:Python@py.cz http://www.py.cz/mailman/listinfo/python ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python