亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用pypandoc將HTML字符串轉換為LaTex

使用pypandoc將HTML字符串轉換為LaTex

鴻蒙傳說 2021-03-10 14:11:26
我正在嘗試使用pypandoc(Pandoc的python包裝器)將HTML字符串轉換為LaTex 。使用pypandoc覆蓋文件可以正常工作:import pypandocinput = 'SomeFile.html'output = pypandoc.convert(input, 'tex')但是,如果我嘗試傳遞一些字符串(如果您定義字符串格式,則根據pypandoc包索引應該是可能的),我得到了IOError: [Errno 63] File name too long::input = '''HTML-string'''output = pypandoc.convert(input, 'tex', format='html')即使我指定了文件,也不知何故format='html'。我還嘗試通過使用StringIO模塊來解決此問題,但未成功:import pypandocimport StringIOoutput = StringIO.StringIO()output.write('''HTML-string''')contents = output.getvalue()output.close()convertedOutput = pypandoc.convert(contents, 'tex', format='html')我是python的新手,非常感謝您的幫助或提示。提前致謝!
查看完整描述

2 回答

?
江戶川亂折騰

TA貢獻1851條經驗 獲得超5個贊

如果有人需要答案,這是一個使用subprocess模塊的最小工作示例,該模塊從讀取輸入stdin并在上輸出轉換后的字符串stdout。


# -*- coding: utf8 -*-


import subprocess

import os


PANDOC_PATH = r"path/to/pandoc"


def convert(text_to_convert):


    pandoc = subprocess.Popen([os.path.join(PANDOC_PATH, 'pandoc.exe'), '-f', 'html', '-t', 'latex'], stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.PIPE)

    output, error = pandoc.communicate(text_to_convert.encode('utf-8'))

    converted_output = output


    return converted_output.decode()


查看完整回答
反對 回復 2021-03-31
?
繁花如伊

TA貢獻2012條經驗 獲得超12個贊

如果檢查pypandoc源,您會看到它convert只是在pandoc使用正確的輸入和輸出流的情況下運行進程。

pandoc找不到命令時發生錯誤??赡苁悄惭b了pypandoc并且忘記了pandoc它本身?;蛘咴撁畈辉谀耐鈿ぶ?code>PATH。


查看完整回答
反對 回復 2021-03-31
  • 2 回答
  • 0 關注
  • 465 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號