• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Opis kodu Python

Staż IT w Comarch
0 głosów
169 wizyt
pytanie zadane 16 stycznia 2017 w Python, Django przez Carttea5 Nowicjusz (120 p.)
import os

def foldery(sciezka):
    for root, dirs, files in os.walk(sciezka):
        poziom = root.replace(sciezka, '').count(os.sep)
        odstep = ' ' * 4 * (poziom)
        print('{}{}/'.format(odstep, os.path.basename(root)))
        odstep2 = ' ' * 4 * (poziom + 1)
        for f in files:
            print('{}{}'.format(odstep2, f))

Mógłby ktoś wytłumaczyć jakie zadanie ma czwarta linijka w tym kodzie oraz co oznacza f w 9. linii. 

2 odpowiedzi

+1 głos
odpowiedź 16 stycznia 2017 przez niezalogowany

Mógłby ktoś wytłumaczyć jakie zadanie ma czwarta linijka w tym kodzie

os.walk() zwraca kolekcję (listę, tablicę jak chcesz to nazwać) obiektów o następującym formacie: (<ścieżka do folderu>, <lista folderów>, <lista plików>), ten for to nic innego jak przypisanie do poszczególnych zmiennych elementów listy i przejście po wszystkich takich kolekcjach danych.

co oznacza f w 9. linii. 

"Dla każdego w liście files...", f to pojedynczy element z listy

https://wiki.python.org/moin/ForLoop

Polecam poduczyć się podstaw Pythona ;)

0 głosów
odpowiedź 16 stycznia 2017 przez Benek Maniak (52,200 p.)

Mógłby ktoś wytłumaczyć jakie zadanie ma czwarta linijka w tym kodzie (...)

 Wyrażenie:

os.walk(sciezka)

tworzy obiekt, który ma 3 składniki:

  1. ścieżkę do katalogu wskazywanego przez zmienną napisową sciezka
  2. listę zawierającą katalogi zlokalizowane pod podaną wyżej ścieżką
  3. listę zawierającą pliki zlokalizowane pod podaną wyżej ścieżką

(...) co oznacza f w 9. linii.

files to lista, która może zawierać dowolną ilość elementów. Wyrażenie:

for f in files:
 ...

oznacza: weź pierwszy element z listy files i podstaw go do f. W miejscu ... wykonaj dowolne operacje. Gdy skończysz, weź drugi element z listy files i podstaw go do zmiennej f. Znów wykonaj dowolne operacje. I tak dalej aż f przejdzie wszystkie elementy listy files.

Podobne pytania

0 głosów
1 odpowiedź 162 wizyt
0 głosów
0 odpowiedzi 38 wizyt
pytanie zadane 4 dni temu w Python, Django przez DODO Bywalec (2,400 p.)
Porady nie od parady
Forum posiada swój własny chat IRC, dzięki któremu będziesz mógł po prostu pogadać z innymi Pasjonatami lub zapytać o jakiś problem. Podstrona z chatem znajduje się w menu pod ikoną człowieka w dymku.
Ciekawy innych porad? Odwiedź tę stronę!

48,284 zapytań

89,802 odpowiedzi

180,631 komentarzy

23,335 pasjonatów

Przeglądających: 264
Pasjonatów: 13 Gości: 251

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...