在循环中创建目录时捕获目录名称

基石

我有一个包含文件夹名称的列表,我需要在当前位置创建目录并将文件复制到这些创建的目录中。因为需要将文件复制到正确的目录中,所以我使用循环遍历列表中的每个文件夹名称,根据文件夹名称创建一个目录,然后将文件复制到其中。根据列表中的元素创建目录不是问题。我的问题是如何在每次循环迭代中捕获那些创建的目录,以便在下一步复制文件时可以在我的路径中使用它。

这是我尝试过的:

dir = ['aaa','bbb')
for dir in dir_list:
    print os.mkdir(path)

循环执行期间在当前工作目录中成功创建文件夹。但我也需要捕捉它的名字。我打印的结果表明 os.mkdir 返回“ None ”。如何在循环中获取创建的目录名称而不是“ None ”对象?

超级小哥

如评论中所述,文件夹的名称是您传递给os.kdir(). 但是,您也可以在创建目录/文件夹后直接将文件复制到文件夹中shutil这可以像下面这样完成:

import os 
import shutil


root    = "root/"
folders = ['path_to_dir/dir1', 'path_to_dir/dir2', 'path_to_dir/dir3']
fnames  = ['path_to_file/file1','path_to_file/file2','path_to_file/file2']

for folder in folders:
    try: 
        os.makedir(root + folder)
    except: 
        print("Error creating folder: ", folder)

    for fname in fnames:
        try:
            src_path = root + fname
            dst_path = root + folder + "/" + fname.split("/")[-1]

            shutil.copyfile(src_path, dst_path)
        except:
            print("Couldn't copy file: ", fname)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章