我想使用正则表达式匹配文件夹中的所有文件,原因如下: 我用过这个:
re.compile(r'\.*$')
但这也是匹配隐藏文件和临时文件。 有更好的选择吗?
答案 0 :(得分:2)
这假设您想要对这些文件名执行某些操作。正如评论中提到的那样,您应该使用glob
。由于我不确定你对“临时”文件的要求,这是最简单的事情。它不会返回任何隐藏文件。文件是当前工作目录中的文件路径列表。
import os, glob
files = [f for f in glob.glob('./*') if os.path.isfile(f)]
答案 1 :(得分:1)
尝试使用re.compile(r'\ w + \。* \ w *')将字母数字文件名与可能的点扩展名匹配。
\ w +匹配一个或多个字母数字文件名[a-zA-Z0-9 _]
\。*匹配零或更多'。'字符
\ w *匹配零个或多个文件扩展名的字母数字字符。
Kodos是一个优秀的Python正则表达式开发人员/调试器。
答案 2 :(得分:1)
使用此目录从目录中获取所有文件:
import os
files = [f for p, d, f in os.walk('/foo/bar')][0]