Witam,
piszę w pythonie mały programik operujący na plikach i mam dwa małe problemy.
- Chciałbym załadować do listy wszystkie pliki .jpg oraz .png znajdujące się w katalogu.
Posiłkując się fragmentem znalezionym w internecie, mającym wyświetlać listę plików zawierającą dany ciąg znaków. Napisałem swój fragment ładujący wszystkie pliki o danym rozszerzeniu do listy i zastanawiam się czy mogę jakoś zrealizować to ładowanie plików .jpg oraz .png w jednym poleceniu czy muszę to rozbić na dwa osobne fragmenty.
Próbowałem w ten sposób:
[zawartosc.append(x) for x in listdir('.') if \
fnmatch.fnmatch(x, '*.jpg' or '*.png')]
Jednak gdy tak napiszę ładowane są tylko pliki .jpg.
- Mam mały problem z ifem. Nie mogę pojąc dlaczego nie działa on tak jak chcę by działa.
Pliki zawierają w sobie numery które próbuję z nich wyciągnąć. Jednak
gdy np. trafia się plik zawierający numer 57 to najpierw zmiennej minwar jest przypisywana wartość indeksu cyfry 5 ale później gdy pętla dochodzi do 7 to do minwar zostaje przypisana wartość indeksu cyfry 7. A przecież jeśli plik ma np. nazwę foto 57 wak.jpg to w tej nazwie 5 ma niższy indeks od 7 i to wartość indeksu cyfry 5 powinna być wpisana do minwar.
# -*- coding: utf-8 -*-
from os import *
import fnmatch
zawartosc = []
listaIndeksow = []
[zawartosc.append(x) for x in listdir('.') if \
fnmatch.fnmatch(x, '*.jpg' or '*.png')]
for i in zawartosc:
minwar = 999
for j in range(10):
# print i.find(str(j))
print i
print j
if i.find(str(j))!= -1 and min > i.find(str(j)):
print minwar
minwar = i.find(str(j))
print minwar
listaIndeksow.append(i[minwar:minwar+2])