Как мне извлечь только часть списка 'member' в PYTHON? - PullRequest
1 голос
/ 22 марта 2011

Мой вопрос немного прост, но, поскольку я новичок в python (перешел от ГИС), пожалуйста, потерпите меня.

У меня есть список python, основанный на файлах пользователявставляет -

например: inputlist =["c:\\files\\foobar.shp","c:\\files\\snafu.shp"]

как получить только имена файлов (без пути или расширений) в новый список?

(желаемый вывод:["foobar","snafu"])

Спасибо.

Ответы [ 4 ]

4 голосов
/ 22 марта 2011

Для этого вы можете использовать списочные выражения Python:

new_list = [ splitext(basename(i))[0] for i in inputlist ]
2 голосов
/ 22 марта 2011
[os.path.basename(p).rsplit(".", 1)[0] for p in inputlist]
1 голос
/ 22 марта 2011
import os.path
extLessBasename = lambda fn: os.path.splitext(os.path.basename(fn))[0]
fileNames = map(extLessBasename, inputlist)
0 голосов
/ 25 марта 2019

Это решение также поможет вам.

import os
inputlist =["/home/anupam/PycharmProjects/DataStructures/LogicalProgram/classvsstatic.py",
            "/home/anupam/PycharmProjects/DataStructures/LogicalProgram/decorators.py"]
filename_list = []
for i in inputlist:
    path_list =i.split('/')
    filename_with_extension = path_list[-1]
    filename_without_extension = os.path.splitext(filename_with_extension)[0]
    filename_list.append(filename_without_extension)

print(filename_list) 

В соответствии с путем файла Windows.Вы можете разделить небольшим изменением «//» в моем коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...