【发布时间】:2018-06-18 16:31:18
【问题描述】:
我只搜索 .txt 文件
from glob import glob
result = glob('*.txt')
>> result
['text1.txt','text2.txt','text3.txt']
但我想要result 没有文件扩展名
>> result
['text1','text2','text3']
是否有可以与glob 一起使用的正则表达式模式来从输出中排除文件扩展名,还是我必须对result 使用列表理解?
【问题讨论】:
-
你的标题有点误导,
Getting file names without file extension with glob会更好吗? -
@Simon 同意。标题听起来像是在寻找 libmagic 或其他一些启发式方法来检测文本文件。你的重写对我来说听起来不错。
-
@abarnert 我应该自己编辑吗?未经 OP 同意?
-
附带说明:
glob不采用正则表达式模式,它采用全局模式,这是另一回事。在幕后,它确实构建了正则表达式模式以应用于文件列表,但您看不到这些。 (如果您想查看它们,请参阅fnmatch模块。) -
@Simon 我认为这很好。如果他们不同意,OP 总是可以回复,如果不同意,你已经为他们改进了他们的问题。