首页 > 解决方案 > 将文件重命名为另一个磁盘

问题描述

我的 python 脚本在分区 D 上,我想重命名分区 E 上文件夹中的文件:

由于空间有限,我无法将文件夹/文件移动到 D。

path= "E:\\A" 

for f in os.listdir(path):

    f_name, f_ext = os.path.splitext(f)

    empty, f_number, f_title = (f_name.split('_'))
    f_title = f_title.strip()

    if len(f_number) == 2:
        f_number = '0' + f_number

   f_filename = '_{}_{}{}'.format(f_number, f_title, f_ext)
   file = os.path.join(path, f)
   os.rename(file, f_filename)

我得到错误:

[WinError 17] 系统无法将文件移动到其他磁盘驱动器:

我在这里找到了使用shutils的答案。所以我尝试了:

 src = os.path.join(path, f)  
 path2 = "E:\\A2"   
 dst = os.path.join(path2, f_filename)    
 shutil.move(src, dst)

[Errno 2] 没有这样的文件或目录:“E:\A2\filename”

这很奇怪,因为我从 A 中取出文件并使用新文件名将其移动到 A2,所以显然 A2 上不存在。

标签: pythonpython-3.xpython-os

解决方案


从错误消息来看,我怀疑问题是您试图在"A2"创建该目录之前将这些文件移动到该目录中。如果A2还不存在,您可以使用os.mkdir.

有关详细信息,请参阅此问题。


推荐阅读