gpt4 book ai didi

python - 根据名称中的某些值动态创建目录和文件

转载 作者:行者123 更新时间:2023-12-01 02:18:25 25 4
gpt4 key购买 nike

我正在尝试编写一个Python脚本来创建一个目录并将一些图像保存到该目录中。请检查下面的代码,

person = 0 # Increase this by one every iteration
if os.path.isdir('./training__data/s{str(person)}') is False: # if, for ex. s0 does not exist
os.mkdir('./training__data/s' + str(person)) # create s0, for ex.

for (x,y,w,h) in faces:
samples += 1
person += 1
cv2.imwrite("training__data/s{str(person)}" + str(samples) + ".png", \
gray[y:y+h, x:x+w])

我想要实现的是我想创建一个如下所述的文件树,

-- training__data/
-- s0
-- 0.png
-- 1.png
-- n.png # goes until the nth picture
-- s1
-- 0.png
-- 1.png
-- n.png
-- . # goes until the nth directory

所以我的问题是如何将目录命名为 s0、s1、s2 等?

我尝试添加此 --> s{str(person)} ,但没有解决问题。

感谢您提前提供的帮助,问候。

最佳答案

为了生成文件和目录名称的字符串,您可以使用 str.format功能。例如:

>>> "Hello {} {}".format("World", 2018)
'Hello World 2018'

另外,最好使用 os.makedirs在您的情况下,因为它递归地创建目录,而不检查它的路径是否存在。 (但要小心给出正确的路径)(注意:如果目标目录已存在,则会引发 OSError。)

现在您需要针对您的情况使用嵌套的 for 循环。外循环用于生成目录,内循环用于生成文件。这是示例代码:

base_path = '/path/to/dir'

for i in range(10):
dir_path = '{}/s{}'.format(base_path, i)
os.makedirs(dir_path)
for j in range(10):
file_path = '{}/s{}.png'.format(dir_path, j)
# your logic with file

根据您的逻辑修改上述示例代码。

关于python - 根据名称中的某些值动态创建目录和文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48159102/

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