尝试在 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
模块,请使用 Path
的 rename
功能移动文件。
即
(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))
该程序采用可选的命令行参数(即目录路径)
我正在使用 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
模块,请使用 Path
的 rename
功能移动文件。
即
(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))