python 通过字符串匹配迭代列表

标签 python

我有一个字符串列表,如果列表中的字符串出现在文件名中,那么我希望 python 打开该文件。问题是,我希望 python 按照字符串在列表中出现的顺序打开文件。我当前的代码按照 python 想要的顺序打开文件,并且仅检查列表中的字符串是否出现在文件名中。

文件

dogs.html
cats.html
fish.html

python

list = ['fi', 'do', 'ca']
for name in glob.glob('*.html'):
  for item in list:
    if item in name:
      with open(name) as k:

最佳答案

lis = ['fi', 'do', 'ca']

for item in lis:
   for name in glob.glob('*.html'):
      if item in name:
         with open(name) as k:

或者首先创建所有文件的列表,然后通过 list 的每次迭代过滤该列表:

>>> names=glob.glob('*.html')
>>> lis=['fi','do','ca']
>>> for item in lis:
...    for name in filter(lambda x:item in x,names):
...         with open('name') as k:

关于python 通过字符串匹配迭代列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12043365/

相关文章:

python - 比较行中的元素

python - 错误消息: "int object is not callable" when trying to make a double comprehension list

python - 在 Linux 中通过命名管道发送数据 block

python - 使用 os.rename 重命名文件导致 NameError

python - 在 pygame 应用程序中实现时的数独求解器性能问题

Python 模块 Mahotas 阈值问题

python - 合并两个 numpy 矩阵以创建逐元素元组

python - 将 numpy 二进制字符串数组转换回字符串

python - 如何从python中的特定文件夹导入多个文件

python - sklearn GridSearchCV : ValueError: X has 21 features per sample; expecting 19