但实际上它并没有读取到图片的文件名
时间: 2023-12-04 20:02:42 浏览: 37
您可能需要将代码中的`img_filename.split('/')[-1]`改为`img_filename[3:]`。这样可以从`img_filename`中获取文件名,而不是从文件路径中获取文件名。修改后的代码如下所示:
```
import docxfrom PIL import Image# 打开docx文件doc = docx.Document('your_docx_file.docx')# 将每个段落的文本和图片写入txt文件中with open('your_txt_file.txt', 'w', encoding='utf-8') as f: for para in doc.paragraphs: f.write(para.text + '\n') # 检查段落中是否有图片 for run in para.runs: if run._element.tag.endswith('r'): for elem in run._element.iter(): if elem.tag.endswith('graphic'): for e in elem.iter(): if e.tag.endswith('blip'): # 获取图片的文件名 img_filename = e.attrib['{http://schemas.openxmlformats.org/officeDocument/2006/relationships}link'][3:] # 打开并保存图片 img = Image.open(img_filename) img.save(img_filename) # 将图片文件名写入txt文件中 f.write(img_filename + '\n')
```
这样就可以读取到图片的文件名了。