import zipfile, re, sys ppt = r"D:\F\yc\课程上架\福田商圈夜校\课程视频\钢琴演奏入门第一课.pptx" out = r"D:\F\NewI\opencode\daily-workspace\temp\debug_ppt_out.txt" results = [] 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")] results.append(f"Total files in zip: {len(names)}") results.append(f"Slide files found: {len(slide_files)}") results.append(f"First 5: {slide_files[:5]}") try: pres_xml = z.read("ppt/presentation.xml").decode("utf-8", errors="replace") sld_ids = re.findall(r']*r:id="([^"]+)"', pres_xml) results.append(f"sldIds: {sld_ids[:5]}") except Exception as e: results.append(f"pres error: {e}") 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)) results.append(f"rels count: {len(rid_to_target)}") for k, v in list(rid_to_target.items())[:3]: results.append(f" {k} -> {v}") except Exception as e: results.append(f"rels error: {e}") with open(out, "w", encoding="utf-8") as f: f.write("\n".join(results)) print("Done, see", out)