使用单行for loop - python从列表中提取文件名

时间:2018-06-14 12:54:13

标签: python-3.x list for-loop split list-comprehension

我试图通过在一行for循环中省略'.csv'部分来查看是否可以从os.listdir()输出中提取文件名。 例如,我的文件名列表如下所示:

files = ['OPS020.csv','OPS340.csv',OPS230.csv','OPS349.csv']

然后我能做的就是这个

file_names = [f.split('.') for f in files]
file_names = [f[0] for f in file_names]

有更优雅,更短的方法吗? 我期待的输出是

file_names : ['OPS020','OPS340','OPS230','OPS349']

1 个答案:

答案 0 :(得分:1)

我想,这样的事情会起作用。

from os import path

files = ['OPS020.csv','OPS340.csv','OPS230.csv','OPS349.csv']
filenames = [path.splitext(x)[0] for x in files]

Docs