-2

我有一个目录,其中包含 /sample1、/sample10、/sample11 等目录。当我os.walk用来一一访问它们时,我遇到了一些困难。

for root, dirs, files in os.walk(mypath):
    if 'sample1' in root:
       print root

现在,这将返回所有根目录 /sample1、/sample10、/sample11 等,因为所有目录都存在“sample1”。我怎样才能只获得 sample1 目录?

可能是正则表达式会很好,但我不知道如何使用它。

4

2 回答 2

1
于 2011-10-19T17:51:09.440 回答
0

我不知道这是否会有所帮助,但我希望这能回答您的问题:

使用“操作系统模块”,您可以设置的不仅仅是一个基本文件,如果您理解这一点,底部会解释这一切......

import os
BASE_DIR = os.path.dirname(os.path.abspath (__file__)
#meaning that it will locate the file your program is in
file = BASE_DIR + "\\file.format"

但是,您实际上可以通过几种方式更改此目录

Files_folder = BASE_DIR + "\\foldername"
musicfls = Files_folder + "\\Audio"
spritefls = Files_folder + "\\sprites"
#and so on and on...

甚至

sample1 = BASE_DIR + "\\directory name"
sample2 = BASE_DIR + "\\directoryname"

这意味着如果您想找到这些目录,只需使用您存储或压缩的所有目录创建一个基础,然后将它们命名为BASE_DIR + "\\path\dir"

如果这没有任何作用,还有 1 个解决方案:您可以将目录分隔到不同的文件夹中,然后在目录中命名您的文件......

def sample1():...

或者

exec("")/os.system["" or BASE_DIR + "\path"]

if this doesnt work i have no idea
于 2022-02-19T04:18:55.207 回答