Python:获取给定文件夹中特定文件类型的名称
Python: get the names of specific file types in a given folder
我有一个包含 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_1.csv
、event_2.csv
、event_3.csv
.
我得到的是:
myfolder
myfolder
myfolder
我想要的是:
event_1
event_2
event_3
PS:我希望有多达 100 个文件。因此,我应该能够包括这些文件名更长的情况:
event_10
event_100
编辑
我可以添加什么来确保文件的读取顺序与它们的命名顺序完全相同?这意味着:首先阅读 event_1.csv
,然后 event_2.csv
,依此类推,直到我到达 event_100.csv
。谢谢!
看起来你得到了你所要求的。在您的代码中查看这一行:
print os.path.basename(directoryPath)
它打印 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) 的所有文件名的列表。现在:
for n in sorted(l, key=lambda x: int(x.split('_')[1])):
print n
现在您需要编写您的具体解决方案:)
我有一个包含 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_1.csv
、event_2.csv
、event_3.csv
.
我得到的是:
myfolder
myfolder
myfolder
我想要的是:
event_1
event_2
event_3
PS:我希望有多达 100 个文件。因此,我应该能够包括这些文件名更长的情况:
event_10
event_100
编辑
我可以添加什么来确保文件的读取顺序与它们的命名顺序完全相同?这意味着:首先阅读 event_1.csv
,然后 event_2.csv
,依此类推,直到我到达 event_100.csv
。谢谢!
看起来你得到了你所要求的。在您的代码中查看这一行:
print os.path.basename(directoryPath)
它打印 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) 的所有文件名的列表。现在:
for n in sorted(l, key=lambda x: int(x.split('_')[1])):
print n
现在您需要编写您的具体解决方案:)