我正在编写一个从数据库生成CSV文件并将其存储在目录中的模块。在处理的最后,我想压缩创建的文件。
由于shutil.make_archive
是标准库的一部分,因此我一直在尝试使用它,但是遇到了一些问题。这是我的模块的运行方式:
with Job(CaissaExtractGen.__name__, args) as j:
loader = CaissaExtractGen(j, args.fundCodes, args.endDate, args.outputDir)
for fund in loader.fund_codes:
positions = loader.generate_positions(fund)
trades = loader.generate_trades(fund)
# Generate CSV files and stored them in the command line outp
loader.write(data=positions, fileType='positions', fund=fund)
loader.write(data=trades, fileType='trades', fund=fund)
zip_filename = Path(loader.output_dir, 'caissa_data')
shutil.make_archive(zip_filename, 'zip', loader.output_dir)
以上内容给了我以下错误:
TypeError: _getfullpathname: illegal type for path parameter
我假设是因为我传入了Path
对象。
我也尝试过这样写:
shutil.make_archive('caissa_data', '.zip', folder_name)
,但没有出现错误,但没有创建zip文件。
欢迎提出任何建议。