我正在尝试使用python重命名存储在目录中的文件名。这是我的脚本:
from pathlib import Path
path = Path("photos")
for file in path.glob("*.jpg"):
newname = file.replace('Photo/siteTHQSE/','')
file.rename(file, newname)
但是,当我执行它时,会告诉我replace方法需要2个参数,但给出了3个参数:
TypeError: replace() takes 2 positional arguments but 3 were given
有什么想法吗?
答案 0 :(得分:1)
似乎您想替换文件的名称,而不是文件本身。
类似newname = file.name.replace('Photo/siteTHQSE/','')
答案 1 :(得分:1)
您使用的.replace()
错误。 file
不是字符串;这是一个PosixPath
对象。它的replace
方法实际上是重命名文件,并且只接受一个参数。
答案 2 :(得分:0)
使用bashcommands
bashCommand = "cp oldfile newfile"
os.system(bashCommand)