如何使用 shutil 库移动 python 中的目录?

How to I move a directory in python using shutil library?

我正在尝试移动文件,但它不起作用。它不断给出错误“Errno 2:文件或目录不存在”。代码如下

import shutil

original = '%userprofile%/Desktop/Test'
New = '%userprofile%/Desktop/Test2'

shutil.move(original, New)

如果有人对如何解决这个问题有任何建议,请帮助我。

您可以使用os.path.expandvars扩展%userprofile%变量,结果路径可以传递到shutil.move API.

>>> help(os.path.expandvars)
Help on function expandvars in module ntpath:

expandvars(path)
    Expand shell variables of the forms $var, ${var} and %var%.

    Unknown variables are left unchanged.

shutil.move(os.path.expandvars(original), os.path.expandvars(New))

如果 %userprofile% 是您唯一需要的变量,可以这样用 pathlib.Path.expanduser 来完成:

import shutil
from pathlib import Path

original = Path('~/Desktop/Test').expanduser()
New = Path('~/Desktop/Test2').expanduser()

shutil.move(original, New)