[英]Get name of folders in zip files - Python
我一直在搜索整個stackoverflow,以了解如何從zip文件路徑中僅提取子文件夾的名稱。
我嘗試使用tkinter獲取zip路徑:
Import os
from tkinter import filedialog
import tkinter as tk
from zipfile import ZipFile
root = tk.Tk()
root.withdraw()
root.filename = filedialog.askopenfilename(initialdir=os.getcwd(), title="Select file", filetypes=[("zip", "*.zip")])
並使用ZipFile和namelist來獲取所有子文件夾的名稱。
with ZipFile(root.filename, 'r') as f:
names = f.namelist()
但是,我明白了:
['CS10/', 'CS10/.DS_Store', '__MACOSX/', '__MACOSX/CS10/', '__MACOSX/CS10/._.DS_Store', etc........
我想知道是否有辦法獲取文件夾名稱,在這種情況下CS10等等。
示例:如果我在zip文件路徑中有3個名為“Apple”“Orange”“Pear”的文件夾(Users / Kiona / fruits.zip)我想打印['Apple','Orange','Pear']
我是Python的新手,所以我希望這聽起來不是一個非常愚蠢的問題。
干杯!
我沒有對此進行測試,但以下可能是您正在尋找的內容:
with ZipFile(root.filename, 'r') as f:
names = [info.filename for info in f.infolist() if info.is_dir()]
供參考,請參閱https://docs.python.org/3.6/library/zipfile.html#zipfile.ZipFile.infolist和https://docs.python.org/3.6/library/zipfile.html#zipfile.ZipInfo .is_dir
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.