python - 将 subproccess.os 与正则表达式结合以获得过滤后的目录/文件列表
问题描述
我是编码新手,在使用带有正则表达式的 subprocess.os 时遇到困难。我正在尝试获取以大写 C 开头的所有文件和目录的列表。这就是我到目前为止所得到的......
home = subprocess.os.path.expanduser("~")
FilesDirsStartingWithC = []
for (dir, subdir, files) in subprocess.os.walk(home):
match = re.findall(r'^C\w+')
for i in match:
FilesDirsStartingWithC.append(i)
print(FilesDirsStartingWithC)
我意识到第一个 for 语句和 append 语句之间的部分是错误的,但我不知道如何修复它。任何帮助将非常感激!谢谢 :)
解决方案
使用匹配列表扩展您的:
home = subprocess.os.path.expanduser("~")
FilesDirsStartingWithC = []
for (dirs, subdirs, files) in subprocess.os.walk(home):
FilesDirsStartingWithC.extend(re.findall('^C\w+', ''.join(dirs)))
FilesDirsStartingWithC.extend(re.findall('^C\w+', ''.join(subdirs)))
FilesDirsStartingWithC.extend(re.findall('^C\w+', ''.join(files)))
print(FilesDirsStartingWithC)
推荐阅读
- amazon-web-services - 使用 pip 在实例上安装 aws cli
- php - 专门在 Woocommerce 3 中创建订单的挂钩
- java - 在 Java 中永久保存数据(并自动加载)?
- java - 如何在java中跟踪和实现嵌套Runnable的取消选项
- python - 参数在 python/Pygame 中将值传递到我的类中
- php - PHP请求简单函数超时
- git - 重写历史后 Github 公共存储库搞砸了
- java - 如何从 JBOSS CLI 调用 JMS 临时队列上的操作
- django - 我可以以某种方式使用端点覆盖 django.settings
- asp.net - 视图或函数 [视图名称] 不可更新,因为修改会影响多个基表 - 在 POST 到任何和每个控制器时