Re: [python] vypis adresare a podadresaru podle masky

2009-01-07 Tema obsahu David Michal
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

2009-01-07 Tema obsahu Ondrej Beranek
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

2009-01-07 Tema obsahu Tomas Brabenec

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

2009-01-07 Tema obsahu Ondrej Beranek
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

2009-01-07 Tema obsahu Leos Pol
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

2009-01-07 Tema obsahu Jirka Vejrazka
 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

2009-01-07 Tema obsahu Tomas Brabenec

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

2009-01-07 Tema obsahu Pavel Kosina

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

2009-01-07 Tema obsahu Jirka Vejrazka
 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

2009-01-07 Tema obsahu Jirka Vejrazka
 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

2009-01-07 Tema obsahu Tomas Brabenec

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