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