我尝试使用Shutil.make_archive从文件而不是文件夹创建存档,因为......在英语堆栈上,有人发布了此解决方案的答案,但在我的存档中,该文件不在根目录中,而是沿着重复其当前路径的路径,例如:
C:\Users\ipetrash\PycharmProjects\SimplePyScripts\sqlite3__examples\databases\backup\backup_2024-07-01.db.zip\Users\ipetrash\PycharmProjects\SimplePyScripts\sqlite3__examples\databases\backup
为了:
import shutil
print(shutil.make_archive(file_name_backup.name, "zip", DIR_DB_BACKUP, file_name_backup))
# C:\Users\ipetrash\PycharmProjects\SimplePyScripts\sqlite3__examples\backup_2024-07-01.db.zip
print(shutil.make_archive(file_name_backup, "zip", DIR_DB_BACKUP, file_name_backup))
# C:\Users\ipetrash\PycharmProjects\SimplePyScripts\sqlite3__examples\databases\backup\backup_2024-07-01.db.zip
我怀疑如果在归档之前更改当前的活动目录,将文件放在根目录下的归档中会有所帮助,但这不是理论,然后返回它...不方便...
解决办法是什么?

通过使用zipfile.ZipFile找到了解决方案
归档当前脚本文件的示例用法:
结果: