Python 从目录中快速读取文件名的方法?

Python 从目录中快速读取文件名的方法?,python,path,Python,Path,给定一个本地目录结构/foo/bar,并假设一个给定路径正好包含一个文件(文件名和内容无关紧要),获取单个文件的文件名(而不是文件内容)的合理快速方法是什么 我知道这个代码是有效的 for file in os.listdir('.'): #do something 您也可以使用glob import glob print glob.glob("/path/*")[0] 假设文件位于以下路径的目录中:E:\automation\u scripts\rename 那么代码是: 谢谢,g

给定一个本地目录结构
/foo/bar
,并假设一个给定路径正好包含一个文件(文件名和内容无关紧要),获取单个文件的文件名(而不是文件内容)的合理快速方法是什么


我知道这个代码是有效的

for file in os.listdir('.'):
    #do something
您也可以使用glob

import glob
print glob.glob("/path/*")[0]

假设文件位于以下路径的目录中:E:\automation\u scripts\rename 那么代码是:


谢谢,gimel把它做得更短了。你有什么选择?选择不多:
os
glob
是两大选择。您从运行
timeit
中学到了什么?你对基准测试结果有什么具体的问题?我的意思是,“鉴于我需要一个快速的解决方案,禁止运行一个完整的基准测试,什么是一个合理的快速方法…”我将相应地编辑标题,谢谢你指出这一点。@prometheus:你的评论比原来的问题更有意义。只有两种选择。是什么让你认为一个会比另一个快?既然只有两个,是什么阻止您运行
timeit
两次呢?我真的不清楚你为什么在这里问这个问题。我从来没有像你所说的那样要求一个完全基准化的解决方案,而是要求一个简单的指针如何获取该文件名,因为os.listdir函数在我的视线范围内溜走了,浏览os.path文档并不能获得该文件名的合理有效方法。我希望这能把事情弄清楚。我做了编辑,我看不出你对我的方法的反复质疑对线程有什么好处。呵呵。。。我真的应该考虑一下:-你在11年后的回复中给出了与公认答案大致相同的答案。
import glob
print glob.glob("/path/*")[0]
import os 
lst = os.listdir(r'E:\automate_scripts\rename')
for item in lst:
    print(item)