Thread View: pl.comp.lang.python
9 messages
9 total messages
Started by Michal
Sun, 25 Jul 2010 23:01
rekursywne listowanie katalogu
Author: Michal
Date: Sun, 25 Jul 2010 23:01
Date: Sun, 25 Jul 2010 23:01
6 lines
1005 bytes
1005 bytes
Czy w pythonie jest jakas funkcja, ktora wylistuje mi katalog rekursywnie? Wiem o funkcji os.walk ale poszukuej czegos zblizonego do os.listdir. Ta ostatnia niestety nie listuje katalogow rekursywnie. -- Michal
Re: rekursywne listowanie katalogu
Author: marrgol
Date: Mon, 26 Jul 2010 02:21
Date: Mon, 26 Jul 2010 02:21
14 lines
1534 bytes
1534 bytes
On 2010-07-26 01:01, Michal wrote:
> Czy w pythonie jest jakas funkcja, ktora wylistuje mi katalog rekursywnie?
> Wiem o funkcji os.walk
os.walk zwraca wszystko, co trzeba, a wylistować chyba można samemu,
w formie w jakiej się potrzebuje? ;-) Np. tak:
for path, dirs, files in os.walk('katalog'):
print path + '/'
for file in files:
print path + '/' + file
--
mrg
Re: rekursywne listowanie katalogu
Author: Daniel Mróz
Date: Mon, 26 Jul 2010 09:57
Date: Mon, 26 Jul 2010 09:57
16 lines
1455 bytes
1455 bytes
On 25.07.2010, Michal <natural-born-killer@donotmail.me> wrote: > Czy w pythonie jest jakas funkcja, ktora wylistuje mi katalog rekursywnie? > Wiem o funkcji os.walk ale poszukuej czegos zblizonego do os.listdir. Ta ostatnia > niestety nie listuje katalogow rekursywnie. Napisz sobie rekursywną funkcję opartą na os.listdir(). Banalnie proste przecież to jest. Pozdrawiam Beorn -- Daniel 'Beorn' Mróz <beorn@alpha.pl> http://127.0.0.1/beorn [GIT d s:- a-@ C++++ UL++++$ P+ L++++ E--- W+ N+++ o? K- w---] [O- M- V! PS+ PE++ Y+ PGP++ t- 5 X R !tv b+ DI D++ G++ e h*] [ r++ y+ ]
Re: rekursywne listowanie katalogu
Author: Daniel Mróz
Date: Mon, 26 Jul 2010 09:59
Date: Mon, 26 Jul 2010 09:59
29 lines
1701 bytes
1701 bytes
On 26.07.2010, marrgol <marspamrgol@gspammail.com> wrote:
>> Czy w pythonie jest jakas funkcja, ktora wylistuje mi katalog rekursywnie?
>> Wiem o funkcji os.walk
> os.walk zwraca wszystko, co trzeba, a wylistować chyba można samemu,
> w formie w jakiej się potrzebuje? ;-) Np. tak:
>
> for path, dirs, files in os.walk('katalog'):
> print path + '/'
> for file in files:
> print path + '/' + file
Bardzo zły pomysł. Ten kod jest nieprzenośny.
Zamiast
path + '/' + cokolwiek
powinieneś użyć
os.path.join(path, cokolwiek)
Pozdrawiam
Beorn
--
Daniel 'Beorn' Mróz <beorn@alpha.pl> http://127.0.0.1/beorn
[GIT d s:- a-@ C++++ UL++++$ P+ L++++ E--- W+ N+++ o? K- w---]
[O- M- V! PS+ PE++ Y+ PGP++ t- 5 X R !tv b+ DI D++ G++ e h*]
[ r++ y+ ]
Re: rekursywne listowanie katalogu
Author: Michal
Date: Mon, 26 Jul 2010 20:10
Date: Mon, 26 Jul 2010 20:10
17 lines
1555 bytes
1555 bytes
On Mon, 26 Jul 2010 04:21:38 +0200
marrgol <marspamrgol@gspammail.com> wrote:
> On 2010-07-26 01:01, Michal wrote:
> > Czy w pythonie jest jakas funkcja, ktora wylistuje mi katalog rekursywnie?
> > Wiem o funkcji os.walk
>
> os.walk zwraca wszystko, co trzeba, a wylistować chyba można samemu,
> w formie w jakiej się potrzebuje? ;-) Np. tak:
>
> for path, dirs, files in os.walk('katalog'):
> print path + '/'
> for file in files:
> print path + '/' + file
wiem, marudze. Jednak mialem nadzieje, ze da sie jakos w pythonie powtorzyc
shellowego jednolinijkowca find -iname 'hurra*txt' -exec process {} \;
Re: rekursywne listowanie katalogu
Author: marrgol
Date: Tue, 27 Jul 2010 00:17
Date: Tue, 27 Jul 2010 00:17
17 lines
1799 bytes
1799 bytes
On 2010-07-26 11:59, Daniel Mróz wrote:
>> for path, dirs, files in os.walk('katalog'):
>> print path + '/'
>> for file in files:
>> print path + '/' + file
>
> Bardzo zły pomysł. Ten kod jest nieprzenośny.
Przykład może i jest nieprzenośny (chociaż to tylko przykład),
ale czy pomysł jest zły, to akurat kwestia sporna. Jak to mówią,
są dwie szkoły, jedni wszystko dla zasady od razu piszą przenośnie,
a inni stosują zasadę YAGNI. I, jak zwykle, jedni uważają, że są
mądrzejsi od drugich... ;-)
--
mrg
Re: rekursywne listowanie katalogu
Author: Artur M. Piwko
Date: Tue, 27 Jul 2010 06:45
Date: Tue, 27 Jul 2010 06:45
23 lines
1844 bytes
1844 bytes
In the darkest hour on Mon, 26 Jul 2010 22:10:02 +0200,
Michal <natural-born-killer@donotmail.me> screamed:
>> > Czy w pythonie jest jakas funkcja, ktora wylistuje mi katalog rekursywnie?
>> > Wiem o funkcji os.walk
>>
>> os.walk zwraca wszystko, co trzeba, a wylistować chyba można samemu,
>> w formie w jakiej się potrzebuje? ;-) Np. tak:
>>
>> for path, dirs, files in os.walk('katalog'):
>> print path + '/'
>> for file in files:
>> print path + '/' + file
>
> wiem, marudze. Jednak mialem nadzieje, ze da sie jakos w pythonie powtorzyc
> shellowego jednolinijkowca find -iname 'hurra*txt' -exec process {} \;
Ależ da sie, dzięki os.walk.
--
[ Artur M. Piwko : Pipen : AMP29-RIPE : RLU:100918 : From == Trap! : SIG:237B ]
[ 08:45:22 user up 12511 days, 20:40, 1 user, load average: 0.36, 0.04, 0.84 ]
Beer is proof that God loves us and wants us to be happy. -- B. Franklin
Re: rekursywne listowanie katalogu
Author: Daniel Mróz
Date: Tue, 27 Jul 2010 11:53
Date: Tue, 27 Jul 2010 11:53
22 lines
1865 bytes
1865 bytes
On 27.07.2010, marrgol <marspamrgol@gspammail.com> wrote:
>>> for path, dirs, files in os.walk('katalog'):
>>> print path + '/'
>>> for file in files:
>>> print path + '/' + file
>> Bardzo zły pomysł. Ten kod jest nieprzenośny.
> Przykład może i jest nieprzenośny (chociaż to tylko przykład),
> ale czy pomysł jest zły, to akurat kwestia sporna. Jak to mówią,
> są dwie szkoły, jedni wszystko dla zasady od razu piszą przenośnie,
> a inni stosują zasadę YAGNI. I, jak zwykle, jedni uważają, że są
> mądrzejsi od drugich... ;-)
Nie zgadzam się z Tobą. I moja racja jest racniejsza niż Twoja ;)
Pozdrawiam
Beorn
--
Daniel 'Beorn' Mróz <beorn@alpha.pl> http://127.0.0.1/beorn
[GIT d s:- a-@ C++++ UL++++$ P+ L++++ E--- W+ N+++ o? K- w---]
[O- M- V! PS+ PE++ Y+ PGP++ t- 5 X R !tv b+ DI D++ G++ e h*]
[ r++ y+ ]
Re: rekursywne listowanie katalogu
Author: Artur M. Piwko
Date: Tue, 27 Jul 2010 21:04
Date: Tue, 27 Jul 2010 21:04
24 lines
1687 bytes
1687 bytes
In the darkest hour on Mon, 26 Jul 2010 09:59:11 +0000 (UTC),
Daniel Mróz <beorn@alpha.pl> screamed:
>> for path, dirs, files in os.walk('katalog'):
>> print path + '/'
>> for file in files:
>> print path + '/' + file
> Bardzo zły pomysł. Ten kod jest nieprzenośny.
> Zamiast
>
> path + '/' + cokolwiek
>
> powinieneś użyć
>
> os.path.join(path, cokolwiek)
>
Nie tyle "bardzo zły" co "niepoprawny". Przykład zadziała na większości
obecnych OS-ów. Tych z Win na początku również (cd c:\users/name/ działa).
--
[ Artur M. Piwko : Pipen : AMP29-RIPE : RLU:100918 : From == Trap! : SIG:223B ]
[ 23:03:03 user up 12511 days, 10:58, 1 user, load average: 0.36, 0.04, 0.84 ]
One with God is a majority. -- Billy Graham
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads