python f-string 在制作文件列表时包括除 0 以外的所有数字
python f-string include all numbers except 0 while making a file list
我想创建一个包含 extend()
的文件列表,同时忽略 _file0.h5
中以 0 结尾的所有文件名。我有这一行用于将所有文件连接到一个列表中
data_files_0.extend(sorted(glob(f"{directory}*_file{filenum}.h5") ) )
我正在尝试学习如何在此处实施正则表达式,并且我尝试了
filenum = re.match(r'[^0]')
通过将它放在给出错误的前一行之上
TypeError: match() missing 1 required positional argument: 'string'
我在这里很困惑,所有带正则表达式的 f-string 示例对我一点帮助都没有。
re.match
不会自动查找包含该模式的字符串 - 您必须为其提供字符串 - 这是缺少参数错误的原因。
示例 - re.match('[^0]', "abc0123")
将根据模式“[^0]”检查字符串“abc0123”中的匹配项。
[^0]
在这里可能是错误的模式,因为它匹配字符串中任何位置的任何字符,但 0
除外。您可能想使用 .*0\.h5
之类的东西,它匹配任何以 '0.h5'
结尾的字符串。您还可以查看 regexr.com,这是一个非常有用的网站,可帮助您了解正则表达式模式的一般工作原理。
对于问题的另一部分 - 查找文件 - 您可能需要先获取所有文件名,然后检查哪些以 0 结尾或不以 0 结尾:
all_files = glob(f"{directory}*_file*.h5")
for f in all_files:
if not re.match('.*0\.h5', f):
data_files_0.append(f)
我想创建一个包含 extend()
的文件列表,同时忽略 _file0.h5
中以 0 结尾的所有文件名。我有这一行用于将所有文件连接到一个列表中
data_files_0.extend(sorted(glob(f"{directory}*_file{filenum}.h5") ) )
我正在尝试学习如何在此处实施正则表达式,并且我尝试了
filenum = re.match(r'[^0]')
通过将它放在给出错误的前一行之上
TypeError: match() missing 1 required positional argument: 'string'
我在这里很困惑,所有带正则表达式的 f-string 示例对我一点帮助都没有。
re.match
不会自动查找包含该模式的字符串 - 您必须为其提供字符串 - 这是缺少参数错误的原因。
示例 - re.match('[^0]', "abc0123")
将根据模式“[^0]”检查字符串“abc0123”中的匹配项。
[^0]
在这里可能是错误的模式,因为它匹配字符串中任何位置的任何字符,但 0
除外。您可能想使用 .*0\.h5
之类的东西,它匹配任何以 '0.h5'
结尾的字符串。您还可以查看 regexr.com,这是一个非常有用的网站,可帮助您了解正则表达式模式的一般工作原理。
对于问题的另一部分 - 查找文件 - 您可能需要先获取所有文件名,然后检查哪些以 0 结尾或不以 0 结尾:
all_files = glob(f"{directory}*_file*.h5")
for f in all_files:
if not re.match('.*0\.h5', f):
data_files_0.append(f)