gpt4 book ai didi

python - 如何过滤掉带有特定前缀和后缀(扩展名)的文件名?

转载 作者:行者123 更新时间:2023-11-28 22:27:04 28 4
gpt4 key购买 nike

我有一个这样的文件列表:

file_list = ['file1.zip', 'file1.txt']
file_prefix = 'file1'

我想使用filterre 只得到上面的file1.txt。我正在尝试这个:

regex = re.compile(file_prefix + '.*(!zip).*')
result = list(filter(regex.search, file_list))
# in the above, result should be populated with just ['file1.txt']

但是正则表达式模式不起作用。有人可以帮我解决这个问题吗?非常感谢!

最佳答案

你可以像这样使用负前瞻:

regex = re.compile(file_prefix + '(?!\.zip)')

代码:

>>> file_list = ['file1.zip', 'file1.txt']
>>> file_prefix = 'file1'
>>> regex = re.compile(file_prefix + '(?!\.zip)')
>>> print list(filter(regex.search, file_list))
['file1.txt']

(?!\.zip) 使其成为一个否定前瞻,当 .zip 不在下一个位置时断言为真。

Read more about look-arounds

关于python - 如何过滤掉带有特定前缀和后缀(扩展名)的文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44270705/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com