2012-11-26 222 views
3

我想在Linux上使用Python打開一個ppt文件(如python打開.txt文件)。 我知道win32com,但我正在linux上工作。 那麼,我需要做什麼?如何使用Python打開ppt文件

+1

.ppt文件不可讀爲純文本,因此您無法真正打開它們「就像.txt文件」。如果您只想啓動用戶對PowerPoint文件的默認查看器,則可以使用'xdg-open' shell命令。 – Marius

+0

打開它做什麼? –

+1

獲取文件中的信息或單詞。 – MarshalSHI

回答

2

如果你在Linux上,你指的是哪個辦公軟件。 OpenOffice(無頭)可以在Linux上使用python進行接口。這是一個很好的例子https://github.com/jledoux/FRIEDA

+0

正好,我想獲取內容在文件中。我需要它的話。所以,我可以得到它們,就像打開('a.txt')來獲取a.txt中的內容一樣嗎? thx – MarshalSHI

+0

不是那麼簡單。 Ppt文件很難解析。文本包含在每張幻燈片上的單獨文本元素中。最好的方法可能是以大綱形式查看文件並通過複製和粘貼來提取文本。或者你可以嘗試下面討論的odf模塊。 – dskrad

+0

我可以使用「catdoc」(「catppt」)以子流程打開它。它的工作原理。 – MarshalSHI

0

使用catdoc/catppt和子進程打開doc文件和ppt文件。

1

python-pptx可以在Linux上打開最新的Powerpoint版本。他們甚至在其Getting started指南中提供了extracting all text from slides的示例。

這裏的

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) 
+0

當使用'prs =演示文稿(path_to_presentation)'我收到以下錯誤'文件不是zip文件'請幫助 –

0

您可以檢查的Apache提卡,因爲我用它在Mac上這樣

適用於MacOS家釀用戶的代碼(從Getting Started指南):安裝Apache提卡(brew install tika

命令行界面的工作原理如下:

tika --text something.ppt > something.txt 

,並使用它python腳本里面:

import os 
os.system("tika --text temp.ppt > temp.txt") 

你將能夠做到這一點,這是我迄今爲止的唯一解決方案。