Есть похожие вопросы, но не совсем то, что они ищут.Python удаляет элементы из неизвестного списка с определенной строкой
Создал список со всеми файлами по определенному пути, который пытается отфильтровать все, что не содержит определенной последовательности в строке.
def filter():
someFiles = os.listdir(somePath)
listSize = len(someFiles)
for i in range(0, listSize):
if (".py" not in someFiles):
someFiles.remove(i)
print("{0}".format(someFiles))
Im знать, я не должен быть изменения размера списка через петлю, но я оставил его только приблизительно дают представление о том, что я пытаюсь выполнить
Я не делал это ясно, проблема, с которой сталкивается я, заключается в том, что я не уверен, какой подход я должен принимать при попытке удалить каждый элемент, который не содержит «.py». То, что я написал выше, является более приблизительным.
какие проблемы вы столкнулись ... –
вы можете создать новый список, основанный на старых один: файлов '= [F для F в someFiles если» .py "не в f]' – pschill
@pschill Используя этот подход, требуется 'if '.py" in f' (обратите внимание, что OP ** удаляет ** файлы, в которых нет '' .py''. – DeepSpace