【发布时间】:2021-09-15 03:07:36
【问题描述】:
我有一个 .txt 文件,我想将它压缩成一个 zip 文件并写入多个目录。
这个函数创建一个目录列表,我想读取压缩的 .txt 文件:
dir_path = 'N:/Project/50813_Medicaid_UPL_DSH/NJ1/Data Files from CMS/UPL/Guidance_Document_Extract/_ticket5250_sandbox/2021'
directories_list = retrieve_file_paths(dir_path)
directories_list
这是输出:
N:/Project/50813_Medicaid_UPL_DSH/NJ1/Data Files from CMS/UPL/Guidance_Document_Extract/_ticket5250_sandbox/2021\Alabama\AL_ICF_2021
N:/Project/50813_Medicaid_UPL_DSH/NJ1/Data Files from CMS/UPL/Guidance_Document_Extract/_ticket5250_sandbox/2021\Alabama\AL_IP_2021
N:/Project/50813_Medicaid_UPL_DSH/NJ1/Data Files from CMS/UPL/Guidance_Document_Extract/_ticket5250_sandbox/2021\Alabama\AL_OP_2021
N:/Project/50813_Medicaid_UPL_DSH/NJ1/Data Files from CMS/UPL/Guidance_Document_Extract/_ticket5250_sandbox/2021\Alabama\AL_PHYS_2021
N:/Project/50813_Medicaid_UPL_DSH/NJ1/Data Files from CMS/UPL/Guidance_Document_Extract/_ticket5250_sandbox/2021\Alabama\AL_NF_2021
N:/Project/50813_Medicaid_UPL_DSH/NJ1/Data Files from CMS/UPL/Guidance_Document_Extract/_ticket5250_sandbox/2021\Alabama\AL_CLNC_2021
N:/Project/50813_Medicaid_UPL_DSH/NJ1/Data Files from CMS/UPL/Guidance_Document_Extract/_ticket5250_sandbox/2021\Alabama\AL_IMD_2021
N:/Project/50813_Medicaid_UPL_DSH/NJ1/Data Files from CMS/UPL/Guidance_Document_Extract/_ticket5250_sandbox/2021\Alabama\AL_PRTF_2021
注意:我希望将压缩文件放入最后一个文件夹(例如 AL_ICF_2021)
这是带有 .txt 文件路径的代码,我尝试将其压缩并将其写入目录列表。
# Assign the name of the directory to zip
zipfile_name = 'N:/Project/50813_Medicaid_UPL_DSH/NJ1/Data Files from CMS/UPL/Guidance_Document_Extract/_ticket5250_sandbox/guidancedocnotes.txt'
# Compress .txt into a zipfile
zip_file = zipfile.ZipFile('guidancedocnotes.zip', 'w')
zip_file.write(zipfile_name, compress_type=zipfile.ZIP_DEFLATED)
for folder in folder_list:
complete_name = os.path.join(zip_file, folder_list)
print(complete_name)
这是我收到的错误消息:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-37-57432b3f2938> in <module>
24 # Call the main function
25 if __name__ == "__main__":
---> 26 main()
<ipython-input-37-57432b3f2938> in main()
18
19 for folder in folder_list:
---> 20 complete_name = os.path.join(zip_file, folder_list)
21 print(complete_name)
22
~\AppData\Local\Continuum\Anaconda3\lib\ntpath.py in join(path, *paths)
74 # Join two (or more) paths.
75 def join(path, *paths):
---> 76 path = os.fspath(path)
77 if isinstance(path, bytes):
78 sep = b'\\'
TypeError: expected str, bytes or os.PathLike object, not ZipFile
我基本上想在上面列出的每个目录中放置一个名为 guidedocsnote.zip 的单独 zip 文件。我该怎么做才能让它发挥作用?谢谢
【问题讨论】: