Próbuję uzyskać listę plików w katalogu przy użyciu Pythona, ale nie listę WSZYSTKICH plików. Chcę wykonać coś takiego, ale bez użycia ls
.
ls 12345 * .jpg
Jeśli nie ma wbudowanej metody, myślę o napisaniu pętli for, aby iterować wyniki os.listdir ()
i dołączyć wszystkie pasujące pliki do nowej listy. W tym katalogu znajduje się sporo plików, mam nadzieję że istnieje bardziej wydajna metoda?
Z góry dziękuję za pomoc! :)
1 odpowiedź
najlepsze rozwiązanie to użyć:
glob.glob („12345 * .jpg”)
glob.glob () to zdecydowanie dobry sposób na zrobienie tego. Jeśli jednak potrzebujesz bardziej skomplikowanego dopasowywania, możesz to zrobić za pomocą funkcji list list i re.match (), mniej więcej tak:
files = [f for f in os.listdir('.') if re.match(r'[0-9]+.*\.jpg', f)]
Bardziej elastyczny, ale za to mniej wydajny.