我想在linux上使用Python打开一个ppt文件,(比如python打开一个.txt文件)。 我知道win32com,但我正在研究linux。 那么,我需要做什么?
答案 0 :(得分:2)
如果您使用的是Linux,那么您指的是哪种办公软件。 OpenOffice(无头)可以在Linux上使用python进行接口。这是一个很好的例子https://github.com/jledoux/FRIEDA
答案 1 :(得分:1)
使用odfpy项目中的odf.opendocument.OpenDocumentPresentation。这假设您只关心与OpenDocument标准兼容的最新格式文件。
如果您有权访问OpenOffice,则可以使用他们的Python api来读取文件。
答案 2 :(得分:1)
python-pptx可以在Linux上打开最新的Powerpoint版本。他们甚至在extracting all text from slides指南中提供了Getting started的示例。
以下是代码(来自Getting Started指南)
from pptx import Presentation
prs = Presentation(path_to_presentation)
# text_runs will be populated with a list of strings,
# one for each text run in presentation
text_runs = []
for slide in prs.slides:
for shape in slide.shapes:
if not shape.has_textframe:
continue
for paragraph in shape.textframe.paragraphs:
for run in paragraph.runs:
text_runs.append(run.text)
答案 3 :(得分:0)
使用catdoc / catppt和子进程打开doc文件和ppt文件。
答案 4 :(得分:0)
您可以查看Apache Tika,因为我在Mac上使用它
对于MacOS Homebrew用户:安装Apache Tika(brew install tika
)
命令行界面的工作方式如下:
tika --text something.ppt > something.txt
并在python脚本中使用它:
import os
os.system("tika --text temp.ppt > temp.txt")
你将能够做到这一点,这是我迄今为止唯一的解决方案。
答案 5 :(得分:0)
because we are trying to open a binary file...
from pptx import Presentation
f=open('filepath\\file.pptx','rb')
prs=Presentation(f)
f.close()
'Open the file in binary mode solves such issues.'