簡體   English   中英

如何在PYTHON中僅提取列表“成員”的一部分?

[英]How do I extract only a part of a list 'member' in PYTHON?

我的問題有點基本,但是由於我是python的新手(與GIS交叉),請耐心等待。

我有一個基於用戶插入的文件的python列表-

例如: inputlist =["c:\\\\files\\\\foobar.shp","c:\\\\files\\\\snafu.shp"]

如何僅將文件名(不包含路徑或擴展名)放入新列表中?

(所需輸出: ["foobar","snafu"]

謝謝。

您可以為此使用python的列表推導:

new_list = [ splitext(basename(i))[0] for i in inputlist ]
[os.path.basename(p).rsplit(".", 1)[0] for p in inputlist]
import os.path
extLessBasename = lambda fn: os.path.splitext(os.path.basename(fn))[0]
fileNames = map(extLessBasename, inputlist)

此解決方案也可以為您提供幫助。

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文件路徑。 您可以在我的代碼中以'//'小更改來拆分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM