Files

31 lines
1.2 KiB
Python

import zipfile
import re
ppt = r"D:\F\yc\课程上架\福田商圈夜校\课程视频\钢琴演奏入门第一课.pptx"
with zipfile.ZipFile(ppt, "r") as z:
names = z.namelist()
slide_files = [f for f in names if f.startswith("ppt/slides/slide") and f.endswith(".xml")]
print(f"Total files in zip: {len(names)}")
print(f"Slide files found: {len(slide_files)}")
print(f"First 5 slide files: {slide_files[:5]}")
# Test presentation.xml
try:
pres_xml = z.read("ppt/presentation.xml").decode("utf-8", errors="replace")
sld_ids = re.findall(r'<p:sldId\b[^>]*r:id="([^"]+)"', pres_xml)
print(f"\nsldIdList rIds: {sld_ids[:5]}")
except Exception as e:
print(f"\npresentation.xml error: {e}")
# Test rels
try:
rels_xml = z.read("ppt/_rels/presentation.xml.rels").decode("utf-8", errors="replace")
rid_to_target = dict(re.findall(r'Id="([^"]+)"[^>]*Target="([^"]+)"', rels_xml))
print(f"Rels entries: {len(rid_to_target)}")
# Show a sample
for k, v in list(rid_to_target.items())[:3]:
print(f" {k} -> {v}")
except Exception as e:
print(f"\nrels error: {e}")