2

os.walk()in variablesの出力をどうにかして保存できますか? 試してみ basepath, directories, files = os.walk(path) ましたが、うまくいきませんでした。ディレクトリと 1 つの特定のサブディレクトリのファイルを処理したいと考えています。これはどういうわけか可能ですか?ありがとう

4

2 に答える 2

3

os.walk()開始した最初のパスからファイル/ディレクトリのすべてのツリーを連続して返すジェネレータを返します。ディレクトリと 1 つの特定のサブディレクトリ内のファイルのみを処理する場合は、必要なものを取得するためos.listdir()os.path.isfile()とを組み合わせて使用​​する必要がありos.path.isdir()ます。

このようなもの:

def files_and_subdirectories(root_path):
    files = []
    directories = []
    for f in os.listdir(root_path):
        if os.path.isfile(f):
            files.append(f)
        elif os.path.isdir(f):
            directories.append(f)
    return directories, files

そして、次のように使用します。

directories,files = files_and_subdirectories(path)
于 2013-03-01T19:56:49.710 に答える
1

ディレクトリと 1 つの特定のサブディレクトリのファイルを処理したいと考えています。これはどういうわけか可能ですか?

それがあなたが望むすべてなら、単に試してみてください

[e for e in os.listdir('.') if os.path.isfile(e)] + os.listdir(special_dir)
于 2013-03-01T20:01:03.343 に答える