【问题标题】:Create folders as a function parameter in python在python中创建文件夹作为函数参数
【发布时间】:2023-11-01 08:50:01
【问题描述】:

在这段代码中,我正在读取多个文件夹并将每个文件夹的文件作为输入参数发送到 func2() 中处理它,我需要将处理的输出保存在新创建的文件夹中,我该怎么做。我的问题是我的代码只是创建了一个文件夹,然后新文件夹的内容再次传递给 func2()!

pp=1
directory = "out"+str(pp) 
parent_dir = 'C:\\Users\\lap\\Desktop\\main\\enc\\'
path = os.path.join(parent_dir, directory )   
os.mkdir(path)  
print("Directory '% s' created" %directory)  

input_path = Path(Path.home(), "Desktop", "main")
for root, dirs, files in os.walk(input_path):
    for file in files:
        file_path = Path(root, file)
        #func(input files, output files)
        cc = func(file_path,'C:\\Users\\lap\\Desktop\\main\\enc\\%s\\' %directory)
        cc.func2()
    pp+=1 

【问题讨论】:

  • 您可以使用 os.sep 而不是 \\,它适用于不同的 [os]es。
  • @arl_de_owl,请澄清更多!

标签: python-3.x file mkdir


【解决方案1】:

只创建一个文件夹的原因是directory 变量的值在for 循环内永远不会改变。您可以在代码中添加这些行,以获得您想要的。

...
for root, dirs, files in os.walk(input_path):
    directory = "out"+str(pp) 
    for file in files:
...

【讨论】:

  • 现在它只是创建文件夹而不在函数中使用这个新文件夹!
  • 那我觉得你的func方法有问题。