这个错误通常发生在尝试使用 os 或 zipfile 等库的函数时,传递了不正确的参数类型。因为传递了一个列表对象,但库函数期望接收字符串、字节或类似路径的对象作为参数。
zip_buffer = BytesIO()
with zipfile.ZipFile(zip_buffer, 'a', zipfile.ZIP_DEFLATED, False) as zip_file:
for file_path in file_paths:
# 将查询到的文件添加到 ZIP 文件中
relative_path = os.path.relpath(file_path, folder_path)
zip_file.write(file_path, arcname=relative_path)
# 回到 ZIP 文件的开头
zip_buffer.seek(0)
os.path.relpath(file_path, folder_path)其中的file_path应该为字符串,但是我搞成了列表,故报错。修改为字符串即可。