Это мой код:
import os
def read_file(path):
name_file = os.listdir(path)
return name_file
path = "/home/ich/Schreibtisch/fotki"
print(read_file(path))
Это возвращает только все файлы в папке в списке. Но я хочу, чтобы они закончились на ".jpg"
. В папке много файлов (.jpg
, .txt
, ...), но мне нужны только файлы .jpg
.
Сделайте это с os.listdir
и .endswith
import os
path = "/home/ich/Schreibtisch/fotki"
for file in os.listdir(path):
if file.endswith(".jpg"):
print(os.path.join(path, file))
Я могу только предполагать, но, возможно, проигравшему не понравилось легкое нарушение принципа DRY (вы повторяете '/mydir'
).
Спасибо за подсказку. Кстати, есть ли книга или хорошее место, чтобы получить обзор таких принципов?
Я считаю, что неравнодушные программисты со временем поймут эти вещи автоматически. Однако, если вам необходимо прочитать книгу, есть классика, такая как Code Complete.
Stackoverflow - англоязычный сайт. Пожалуйста, задавайте свои вопросы только на английском языке.