我有一个包含文件夹名称的列表,我需要在当前位置创建目录并将文件复制到这些创建的目录中。因为需要将文件复制到正确的目录中,所以我使用循环遍历列表中的每个文件夹名称,根据文件夹名称创建一个目录,然后将文件复制到其中。根据列表中的元素创建目录不是问题。我的问题是如何在每次循环迭代中捕获那些创建的目录,以便在下一步复制文件时可以在我的路径中使用它。
这是我尝试过的:
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] 删除。
我来说两句