如何检查文件名是否包含 python 中正确数量的数字?

How to check if a file name contains a correct amount of numbers in python?

我正在编写一个程序来过滤放置在特定文件夹中的文件,我需要检查它们是否具有以下结构:some_name/+++/++/++++.format,其中+ 代表任意数字。

我的代码是这样开始的:

import glob

path = "_path_"
File_list = glob.glob(path+"/*")

for item in File_list:
  if item == path + *something*:   <-------- This is my problem
    print (True)

如有任何帮助,我将不胜感激。我正在使用 Python 3.6.

一些正则表达式如何匹配该模式:

import re

pat = re.compile(".*\/\d{3}\/\d{2}\/\d{4}\.format")
if pat.match(item):
    # Your code here

您可以使用 glob 模式:

File_list = glob.glob('/'.join((path, *('[0-9]' * n for n in (3, 2, 4)), '.format')))

这应该有帮助-

import re    
f = 'fname/123/45/6789.txt'
if re.match('^\w+/\d{3}/\d{2}/\d{4}', f):
    print("Correct file name format")

输出:

>> Correct file name format
import re
regex = r"\w+\/\d{3}\/\d{2}\/\d{4}"
test_str = ("some_name/123/12/1234")
matches = re.search(regex, test_str)
if matches:
     print(True)
else:
    print(False)

使用正则表达式