gpt4 book ai didi

python - 使用 Python 对目录中的每个文件运行 for 循环

转载 作者:行者123 更新时间:2023-11-30 21:59:07 25 4
gpt4 key购买 nike

我想在 python 中为目录中的每个文件运行 for 循环。目录名称将通过单独的文件(folderlist.txt)传递。

在我的主文件夹 (/user/) 中,每天都会添加新文件夹。所以我想为给定文件夹中的每个文件运行 for 循环。并且不想针对文件已经通过循环运行的文件夹运行。我正在考虑维护folderlist.txt,它将每天仅包含新添加的文件夹的文件夹名称,然后将其传递给for循环。
例如,在我的主路径(/user/)下,我们看到以下文件夹:
(每个文件夹中存在的文件列在文件夹名称下面只是为了给出想法)

(day 1)
folder1
file1, file2, file3

folder2
file4, file5

folder3
file6

(day 2)
folder4
file7, file8, file9, file10

folder5
file11, file12
import os
with open('/user/folderlist.txt') as f:
for line in f:
line=line.strip("\n")

dir='/user/'+line
for files in os.walk (dir):
for file in files:
print(file)
# for filename in glob.glob(os.path.join (dir, '*.json')):
# print(filename)

我尝试在上面的代码中使用 os.walk 和 glob 模块,但看起来循环运行的次数比文件夹中的文件运行的次数更多。请提供意见。

最佳答案

尝试将os.walk(dir)更改为os.listdir(dir)。这将为您提供目录中所有元素的列表。

import os
with open('/user/folderlist.txt') as f:
for line in f:
line = line.strip("\n")

dir = '/user/' + line
for file in os.listdir(dir):
if file.endswith("fileExtension"):
print(file)

希望对你有帮助

关于python - 使用 Python 对目录中的每个文件运行 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54662895/

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