Python:获取给定文件夹中特定文件类型的名称

Python:获取给定文件夹中特定文件类型的名称,python,csv,path,directory,filenames,Python,Csv,Path,Directory,Filenames,我有一个包含ncsv文件的文件夹,它们都被命名为event_1.csv,event_2.csv,一直到event_n.csv 我希望能够raw_input它们的文件夹路径,然后检索它们的名称,不包括文件扩展名 我尝试过这样做,但我只会在文件夹路径中打印csv文件的次数。文件名从不打印,而是我想要的 这是到目前为止我想到的最好的,但它做了错误的事情: import os directoryPath=raw_input('Directory for csv files: ') for i,file

我有一个包含
n
csv
文件的文件夹,它们都被命名为
event_1.csv
event_2.csv
,一直到
event_n.csv

我希望能够
raw_input
它们的文件夹路径,然后检索它们的名称,不包括文件扩展名

我尝试过这样做,但我只会在文件夹路径中打印
csv
文件的次数。文件名从不打印,而是我想要的

这是到目前为止我想到的最好的,但它做了错误的事情:

import os
directoryPath=raw_input('Directory for csv files: ')
for i,file in enumerate(os.listdir(directoryPath)):
    if file.endswith(".csv"):
        print os.path.basename(directoryPath)
其中
directoryPath=C:\Users\MyName\Desktop\myfolder
,其中有三个文件:
event\u 1.csv
event\u 2.csv
event\u 3.csv

我得到的是:

myfolder
myfolder
myfolder
相反,我想要的是:

event_1
event_2
event_3
附言:我希望有多达100个文件。因此,我应该能够包括以下情况,其中文件名较长:

event_10
event_100
编辑


我可以添加什么来确保文件的读取顺序与命名顺序完全相同?这意味着:首先读取
event_1.csv
,然后读取
event_2.csv
,依此类推,直到到达
event_100.csv
。谢谢

看来你得到了你想要的东西。请参见代码中的这一行:

print os.path.basename(directoryPath)
它打印
目录路径

我认为应该是:

import os
directoryPath=raw_input('Directory for csv files: ')
for i,file in enumerate(os.listdir(directoryPath)):
    if file.endswith(".csv"):
        print os.path.basename(file)
祝你好运

编辑

让我们创建一个没有路径和扩展名(l)的所有文件名的列表。现在:


现在,您需要编写特定的解决方案:)

您可以在文件列表中添加一个排序函数,对要排序的部分进行排序。请注意,字符串的排序方式不同于数字(即“100”小于“3”)。我添加了一个此类排序的示例。
for n in sorted(l, key=lambda x: int(x.split('_')[1])):
    print n