我的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]系统无法将文件移动到其他磁盘 驱动器:
我在这里找到了使用shuttles的答案。所以我尝试了:
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上不存在。
答案 0 :(得分:0)
从错误消息来看,我怀疑问题是您试图在创建目录之前将这些文件移动到"A2"
目录中。如果A2
还不存在,则可以使用os.mkdir
创建它。
有关此详细信息,请参见此question。