在没有扩展名的目录中获取文件名 - Python [重复]

Posted

技术标签:

【中文标题】在没有扩展名的目录中获取文件名 - Python [重复]【英文标题】:get filenames in a directory without extension - Python [duplicate] 【发布时间】:2018-04-29 09:08:24 【问题描述】:

我试图在不获取扩展名的情况下获取目录中的文件名。使用我当前的代码 -

import os

path = '/Users/vivek/Desktop/buffer/xmlTest/' 
files = os.listdir(path) 
print (files)

我最终得到这样的输出:

['img_8111.jpg', 'img_8120.jpg', 'img_8127.jpg', 'img_8128.jpg', 'img_8129.jpg', 'img_8130.jpg']

但是我希望输出看起来更像这样:

['img_8111', 'img_8120', 'img_8127', 'img_8128', 'img_8129', 'img_8130']

我怎样才能做到这一点?

【问题讨论】:

...通过切片。 【参考方案1】:

你可以使用os的splitext。

import os

path = '/Users/vivek/Desktop/buffer/xmlTest/' 
files = [os.path.splitext(filename)[0] for filename in os.listdir(path)]
print (files)

请注意:basename 对此不起作用。 basename 不会删除扩展名。

【讨论】:

【参考方案2】:

这里有两个选项

import os
print(os.path.splitext("path_to_file")[0])

或者

from os.path import basename
print(basename("/a/b/c.txt"))

【讨论】:

basename("/a/b/c.txt") 返回 c.txt,带扩展名。

以上是关于在没有扩展名的目录中获取文件名 - Python [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何从Python中的路径获取没有扩展名的文件名?

Python os模块实例之遍历目录及子目录指定扩展名的文件

python获取指定目录下的所有指定后缀的文件名

列出文件夹下所有的文本文件名python

使用python将文件列表保存到文本文件中

python 获取文件后缀名