gpt4 book ai didi

python - 正确使用 os.path 和 os.join

转载 作者:太空狗 更新时间:2023-10-29 22:27:09 25 4
gpt4 key购买 nike

我正在尝试编写一个处理程序来处理各种子目录中的文件,但是虽然我的脚本可以看到这些文件,但它无法对它们执行任何操作,因为它无法组装它们的路径。

有问题的部分来自这个循环:

for (path, dirs, files) in os.walk("data/"):
for image in files:
#do something to the image

现在,该脚本在 data 目录的第一级工作,但无法在 data 的子目录中工作。

我尝试使用 os.path.join():

for (path, dirs, files) in os.walk("data/"):
print os.path.join(path, dirs)

但这会抛出以下内容:

Traceback (most recent call last):
File "bench.py", line 26, in <module>
print os.path.join(path, dirs)
File "/usr/lib/python2.7/posixpath.py", line 75, in join
if b.startswith('/'):
AttributeError: 'list' object has no attribute 'startswith'

简而言之,我想做的是组装一条从data 到包含data 子目录的图像的路径。这样做的最佳做法是什么?

最佳答案

我想你想为 files 中的每个 file 加入 pathfile

for path,dirs,files in os.walk('data/'):
for f in files:
fname = os.path.join(path,f)
assert(os.path.exists(fname))

dirs 是目录 path 中目录的列表。实际上,您可以就地修改 dirs 以防止 os.walk 进入某些目录(整洁!)。

关于python - 正确使用 os.path 和 os.join,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15209867/

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