【问题标题】:get filenames in a directory without extension - Python [duplicate]在没有扩展名的目录中获取文件名 - Python [重复]
【发布时间】: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']

我怎样才能做到这一点?

【问题讨论】:

  • ...通过切片。

标签: python


【解决方案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,带扩展名。
    猜你喜欢
    • 1970-01-01
    • 2015-02-14
    • 1970-01-01
    • 1970-01-01
    • 2011-12-28
    • 2014-06-06
    • 1970-01-01
    • 2012-03-24
    • 1970-01-01
    相关资源
    最近更新 更多