Найти элемент на основе части строки и получить значение - PullRequest
1 голос
/ 10 апреля 2020

У меня есть путь к файлу, созданный

Path('filepath')

Я хотел бы получить имя каталога в середине пути к файлу и добавить его в список. И условием выделения является указанная c часть строки. Я пробовал

list = []
list.append(x for x in str(filepath).split(os.sep) if 'part of a sting' in x)

Я пробовал это, но когда я распечатывал только

print(x for x in str(filepath).split(os.sep) if 'part of a sting' in x)

, это дало мне формат генератора, а не часть filepath

<generator object function.<locals>.<genexpr> at 0x7f23c8dd0258>

в чем здесь проблема?

1 Ответ

2 голосов
/ 10 апреля 2020

Вы получили объект генератора, потому что вы используете выражение генератора вместо понимания списка. Вы можете прочитать больше о выражениях генератора здесь

попробуйте написать что-то вроде:

path_list = [x for x in str(filepath).split(os.sep) if 'part of a sting' in x]
print(path_list)
...