在 python 中的字典中移动引用的文件
Move referenced files in a dictionary in python
我在 Python 中有字典,其中包括文件的当前路径和所需路径。
files = {
'C:\Users\a\A\A.jpg': 'C:\Users\a\A\test_a\A.jpg',
'C:\Users\a\B\B.jpg': 'C:\Users\a\B\test_a\B.jpg',
'C:\Users\a\C\C.jpg': 'C:\Users\a\test_a\C.jpg'
}
如何使用地图中的项目作为 shutil.move()
函数的参数?我尝试了几种方法都没有成功。
怎么样:
for frm,to in files.items():
shutil.move(frm,to)
您只需遍历字典的 (key,value)
元组,然后在这些元组上调用 shutil.move
函数。
我看到的唯一问题是您可能需要先构建 目录:否则移动对象可能会失败。您可以通过首先检测 os.path.dirname
,检测目录是否存在,如果不存在则创建这样的目录:
#only if you are not sure the directory exists
for frm,to in files.items():
directory = os.path.dirname(to)
os.makedirs(directory,exist_ok=True) #create a directory if it does not exists
shutil.move(frm,to)
我在 Python 中有字典,其中包括文件的当前路径和所需路径。
files = {
'C:\Users\a\A\A.jpg': 'C:\Users\a\A\test_a\A.jpg',
'C:\Users\a\B\B.jpg': 'C:\Users\a\B\test_a\B.jpg',
'C:\Users\a\C\C.jpg': 'C:\Users\a\test_a\C.jpg'
}
如何使用地图中的项目作为 shutil.move()
函数的参数?我尝试了几种方法都没有成功。
怎么样:
for frm,to in files.items():
shutil.move(frm,to)
您只需遍历字典的 (key,value)
元组,然后在这些元组上调用 shutil.move
函数。
我看到的唯一问题是您可能需要先构建 目录:否则移动对象可能会失败。您可以通过首先检测 os.path.dirname
,检测目录是否存在,如果不存在则创建这样的目录:
#only if you are not sure the directory exists
for frm,to in files.items():
directory = os.path.dirname(to)
os.makedirs(directory,exist_ok=True) #create a directory if it does not exists
shutil.move(frm,to)