尝试在 Path 对象上使用 / Python

Trying to use / on Path object Python

该程序采用可选的命令行参数(即目录路径)

我正在使用 python pathlib 和 shutil 来移动文件。 这是代码:

from pathlib import Path

path = Path(sys.argv[1])

shutil.move(path / file, path / e.upper())

其中 e 只是一个表示特定文件扩展名的字符串;

输入:

 python3 app.py /home/user/Desktop

此代码产生错误:

'PosixPath' object has no attribute 'rstrip'

如果我不在命令行中指定第二个参数(而是使用 Path.cwd() 作为路径),/ 运算符工作正常

如果您使用 pathlib 模块,请使用 Pathrename 功能移动文件。

(path / file).rename(path / e.upper())

否则,如果您想使用 shutil 模块,则必须先将路径转换为字符串,然后再将它们传递给 shutil.move()

shutil.move(str(path / file), str(path / e.upper()))

将文件和文件夹路径视为字符串解决了此错误

shutil.move(str(source_path),str(destination_path))