Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Ispis samo extensia iz folder

[es] :: Python :: Ispis samo extensia iz folder

[ Pregleda: 2022 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

stone273
n/n
n/n

Član broj: 307892
Poruke: 8
*.static.t-2.net.



+4 Profil

icon Ispis samo extensia iz folder25.10.2012. u 12:07 - pre 139 meseci
Python
Eh ovako imam zadatak da iz odredjenog foldera na HDDu ispise samo extensie koje postoje u tom folderu, ja uspijem da mi ispise filevoe iz foldera ali ne znam kako da mi samo ispise extenzije ? Zna neko ?
 
Odgovor na temu

del-boy
Bojan Delić
Beograd

Član broj: 9330
Poruke: 1089

Sajt: www.delic.in.rs


+21 Profil

icon Re: Ispis samo extensia iz folder25.10.2012. u 16:37 - pre 139 meseci
Recimo:
Code (python):

import os, glob
extensions = set()
for f in glob.glob('*'):
    extensions.add(os.path.splitext(f)[1])
for ext in extensions:
    print ext
 


Ovo će štampati extenzije iz trenutnog foldera. Kontam da se možeš snaći odavde.

Edit:
Evo i oneliner koji je čak i malo pamentiji (ne uračunava foldere) :)
Code (python):

for ext in set([ os.path.splitext(f)[1] for f in glob.glob('*') if not os.path.isdir(f) ]): print ext
 
 
Odgovor na temu

stone273
n/n
n/n

Član broj: 307892
Poruke: 8
*.static.t-2.net.



+4 Profil

icon Re: Ispis samo extensia iz folder25.10.2012. u 22:15 - pre 139 meseci
Code:
import os
import glob
os.chdir("C:\\Users\\hp\\Desktop\\Multimedia")
path = ("C:\\Users\\hp\\Desktop\\Multimedia")
print(path)
extensions = set()
for f in glob.glob('*'):
    extensions.add(os.path.splitext(f)[1])
for ext in extensions:
    print(ext)


Evo uspio sam, hvala.


[Ovu poruku je menjao stone273 dana 25.10.2012. u 23:30 GMT+1]
 
Odgovor na temu

del-boy
Bojan Delić
Beograd

Član broj: 9330
Poruke: 1089

Sajt: www.delic.in.rs


+21 Profil

icon Re: Ispis samo extensia iz folder25.10.2012. u 22:27 - pre 139 meseci
Po ovome mi izgleda kao da imaš fajl glob.py na putanji "C:\Users\hp\PycharmProjects\Predavanje 3\glob.py".
Kod koji sam postavio pokušava da importuje systemski glob modul, ali pošto ti imaš modul pod istim imenom uvuče njega i zbog pogrešnog importa se javi greška.

Napravi novi fajl sa kodom što sam postavio i izvrši samo njega, ne u nekom projektu, van PyCharm-a, da nema drugih .py fajlova u istom folderu.

Takođe, izbegavaj da nazivaš module "33.py", koristi reči za imena modula, ili bar započni ime modula slovom.
 
Odgovor na temu

del-boy
Bojan Delić
Beograd

Član broj: 9330
Poruke: 1089

Sajt: www.delic.in.rs


+21 Profil

icon Re: Ispis samo extensia iz folder25.10.2012. u 22:30 - pre 139 meseci
Dok sam pisao izmenio si poruku, tako da prethodna moja poruka više ne važi, vidim da si sam skontao problem :)

Što se tiče čitanja iz tvog foldera, kontao sam da ćeš taj deo moći sam... Nemam pri ruci python, ali ovako iz glave, uradi nešto na ovu temu:

Code (python):

import os
import glob
path = ("C:\\Users\\hp\\Desktop\\Multimedia")
print(path)
extensions = set()
for f in glob.glob(os.path.join(path, '*')):                 #ovde je izmena
    extensions.add(os.path.splitext(f)[1])
for ext in extensions:
    print(ext)
 


Ovo bi trebalo da čita fajlove sa tvoje putanje.
 
Odgovor na temu

stone273
n/n
n/n

Član broj: 307892
Poruke: 8
*.static.t-2.net.



+4 Profil

icon Re: Ispis samo extensia iz folder26.10.2012. u 03:17 - pre 139 meseci
Skonto sam to za čitanje, al na malo duži način ovo tvoje novo je dosta jednostavnije, hvala ;)
Evo pošto mi najvise mucilo da dobijem extensije i za to sam pitao, u zadatku imam jos zadano da moraju biti poredane po abecedi i da se ispise taj dio sa hdd-a na ekranu to sam uspio uradit. Al nije mi jasno pošto sam dobio od profesora tester i kaze da ne valja program, a ja tačno dobijem ono kako on od nas trazi posto nam je dao primjer kako treba izgledat, ne znam je li to moguce da u tom testeru pise kao jedan code i samo po njemu radi ali to je nemoguce jer svako ce nesto dr. uradit. Evo kako izgleda code sad i sta dobije za rezultat.

TXT zadatka: napiši program koji iz foldera ispise extensie poreda ih po abecedi uz to ispise lokaciju extensija i odvoji listu extensija od ispisa lokacija sa HDD-a za jedan red.

Code:
import os
import glob
path = ("\\Users\\hp\\Desktop\\Multimedia")
print("Direktorij:",path)
print(" ")
extensions = set()
for f in glob.glob(os.path.join(path, '*')):
    extensions.add(os.path.splitext(f)[1])
for ext in sorted(extensions):
    print(ext)
 


I ja ko rezultat dobijem baš ono što je tražio prof al tamo s testerom ne radi ovaj program :S ?

Direktorij: \Users\hp\Desktop\Multimedia

.ai
.docx
.png
.py
.xls
.zip
 
Odgovor na temu

del-boy
Bojan Delić
Beograd

Član broj: 9330
Poruke: 1089

Sajt: www.delic.in.rs


+21 Profil

icon Re: Ispis samo extensia iz folder26.10.2012. u 14:56 - pre 139 meseci
Daj kod testera da vidimo šta on očekuje, pa da ispoštujemo njegova očekivanja... Moguće je da očekuje da vratiš listu ekstenzija imesto da ih ispišeš, možda hoće ekstenzije bez tačke, možda proverava da li su sortirane (ovde neće biti, jer se koristi set), možda hoće da vidi ekstenzije više puta ako se ponavljaju, a ne samo jednom... Moguće su varijacije na temu, najbolje pošalju taj tester i test podatke (spisak fajlova u folderu, ako ih tester ne kreira dinamički), pa da vidimo kako to treba da izgleda.
 
Odgovor na temu

[es] :: Python :: Ispis samo extensia iz folder

[ Pregleda: 2022 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.