• 花了兩個小時,第一次運行起來 Python 工程

    上一篇 / 下一篇  2024-03-11 13:19:54

      人工智能時代,最需要學習的編程語言是:python 。
      筆者是個 python 小白,昨天花了兩個小時,第一次成功運行起來 python 項目 。
      項目是  powerpoint-extractor ,可以將 ppt 文件中的圖片提取出來,并輸出到固定的目錄。
      1 安裝 python 環境
      首先打開終端,打開后輸入 python3 。確定電腦上是否已安裝 python3,如果輸入 python 是查看 mac 上的自帶版本。
      命令:python3【直接回車】
      出現下面是頁面,表示已經安裝python3 【退出時可輸入:exit()然后點回車】
      若沒有安裝,安裝 python3 如下兩種方式:
      第一種方法 brew  安裝 python3 :brew install python3
      第二種方法 官網  Python Releases for macOS ,根據自己的需求下載自己需要的版本下載 。
      2 項目 powerpoint-extractor
      通過 git 命令 clone 該項目 :
      git clone git@github.com:2TallTyler/powerpoint-extractor.git
      因為項目依賴 python-pptx 組件,通過清華的鏡像執行如下的命令:
      pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple python-pptx
      執行完成之后,可以通過 pip3 list 命令查看已安裝包列表 :
      3  PyCharm 配置
      通過 PyCharm 打開該項目 :
      上圖,我們發現 python 解釋器并沒有配置好 ,py 腳本顯示 import 包失敗 。
      點擊添加 python 解釋器按鈕,勾選繼承全局包,并確認好 python3 的執行目錄是否正確,點擊 OK 即可完成配置。
      點開 extract.py ,核心代碼非常容易理解:
      for eachfile in glob.glob(self.input_dir + os.sep + "*.pptx"):
          ppt = Presentation(eachfile)
          print("* " + eachfile)
          presentation_count += 1
          self.cur_image_index = 1
          name = self.generate_image_name_part(eachfile)
          # 遍歷每張幻燈片
          for page, slide in enumerate(ppt.slides):
              # 將幻燈片上的所有文本收集到一個字符串中,以換行符分隔
              text = ''
              for shape in slide.shapes:
                  if shape.has_text_frame and shape.text.strip():
                      text += os.linesep
                      text += shape.text
              # 收集每張幻燈片中的圖像
              self.cur_slide_images = []
              # 保存幻燈片中的圖像
              for shape in slide.shapes:
                  self.drill_for_images(shape, page + 1, name)
              # 將頁碼、收集到的文本和演講者備注作為新行寫入CSV文件
              image_list = ''
              if len(self.cur_slide_images) > 0:
                  image_list = ','.join(self.cur_slide_images)  # 將圖像列表轉換為逗號分隔的字符串
              # 將信息寫入CSV文件
              writer.writerow([eachfile, page + 1, text, slide.notes_slide.notes_text_frame.text, image_list])
      這段代碼執行了以下操作:
      ·對于每個 PowerPoint 文件,它加載演示文稿并逐一遍歷每張幻燈片。
      · 對于每張幻燈片,它收集文本和圖像信息,并將其格式化為 CSV 文件的一行。
      · CSV 文件的每一行包括文件名、頁碼、幻燈片文本、幻燈片的演講者備注以及圖像列表。
      4 運行項目
      將測試 ppt 拷貝到 input 目錄,點擊 run 。
      當執行完成后,ppt 中有的圖片拷貝到 images 目錄,同時生成了一個 text.csv 。
      當然,我們也可以通過如下的命令直接執行:

    TAG: 軟件開發 Python

     

    評分:0

    我來說兩句

    Open Toolbar
    久久97久久97精品免视_欧洲国产伦久久久久久_91麻豆精品国产自产在线观_伊人久久大香线蕉综合av