如何检查文件名是否包含 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)
使用正则表达式
我正在编写一个程序来过滤放置在特定文件夹中的文件,我需要检查它们是否具有以下结构: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)
使用正则表达式