import zipfile
使用zipfile 來壓縮文件的時候,發現會帶入文件的路徑
with zipfile.ZipFile(os.path.join(uploadpath, "game.zip"), mode="w") as f: f.write(filename=gameContentPath, arcname="gameres.txt") f.close()
通過第二個參數 arcname 指定壓縮包體內的路徑和名字就好了
創建一個ZipFile對象,表示一個zip文件 class zipfile.ZipFile(file[, mode[, compression[, allowZip64]]]) 獲取zip文檔內指定文件的信息 ZipFile.getinfo(name): 獲取zip文檔內所有文件的信息,返回一個zipfile.ZipInfo的列表 ZipFile.infolist() 獲取zip文檔內所有文件的名稱列表。 ZipFile.namelist() 解壓zip文檔中的所有文件到當前目錄,參數members的默認值為zip文檔內的所有文件名稱列表 ZipFile.extract(members[, path[, pwd]]) 打印zip文檔內的信息到控制台上。 ZipFile.printdir() 設置zip文檔的密碼。 ZipFile.setpassword(pwd) 獲取zip文檔內指定文件的二進制數據 ZipFile.read(name[, pwd]) ZipInfo.filename: 獲取文件名稱。 ZipInfo.date_time: 獲取文件最后修改時間。返回一個包含6個元素的元組:(年, 月, 日, 時, 分, 秒) ZipInfo.compress_type: 壓縮類型。 ZipInfo.comment: 文檔說明。 ZipInfo.extr: 擴展項數據。 ZipInfo.create_system: 獲取創建該zip文檔的系統。 ZipInfo.create_version: 獲取 創建zip文檔的PKZIP版本。 ZipInfo.extract_version: 獲取 解壓zip文檔所需的PKZIP版本。 ZipInfo.reserved: 預留字段,當前實現總是返回0。 ZipInfo.flag_bits: zip標志位。 ZipInfo.volume: 文件頭的卷標。 ZipInfo.internal_attr: 內部屬性。 ZipInfo.external_attr: 外部屬性。 ZipInfo.header_offset: 文件頭偏移位。 ZipInfo.CRC: 未壓縮文件的CRC-32。 ZipInfo.compress_size: 獲取壓縮后的大小。 ZipInfo.file_size: 獲取未壓縮的文件大小。 如果想看ZipFile 的全部屬性的話可以這樣查看 print dir(zipfile)