python文本标记和转换

pyth3的Python项目详细描述


pyth3-python文本标记和转换

Pyth旨在使在不同的通用格式之间转换标记文本变得容易。 这是pyth 0.6.0到python 3的一个(目前还不完全)端口。

标记文本表示具有以下内容的文本:

  • 段落
  • 标题
  • 粗体、斜体和带下划线的文本
  • 超链接
  • 项目符号列表
  • 简单表格
  • 其他很少

支持程度(非常不同)的格式是

  • 纯文本
  • XHTML
  • RTF(富文本格式)
  • PDF(仅输出)

设计原则/目标

  • 忽略输入格式中不支持的信息(例如页面布局)
  • 忽略字体问题--以单个字体输出。
  • 忽略特定的文本大小,但保持斜体、黑体、下标/上标
  • 没有依赖项,除非它们是用python编写的,并且可以工作
  • 通过使用基于pluginsadapters的体系结构,可以方便地添加对新格式的支持。

示例

请参阅目录examples

python 3迁移

这段代码最初是为python 2编写的。 已经有一部分(!)升级到Python3兼容性(从“modernize”开始)。 这并不意味着它真的会起作用!

pyth.plugins.rtf15.reader已被调试,现在看来工作正常。 pyth.plugins.xhtml.writer已经过调试,现在看起来工作正常。 pyth.plugins.plaintext.writer已被调试,现在看来工作正常。 其他的一切都是未知的(或者在python 3上肯定是坏的:甚至很多 测试失败) 有关更多详细信息,请参见目录py3migration。 (如果您发现Python2上有以前工作过的故障,请 要么修复它,要么简单地坚持pyth版本0.6.0.)

限制

pyth.plugins.rtf15.reader:

  • 项目符号或枚举项将被返回 作为普通段落(没有缩进,没有项目符号)。
  • 无法正确处理符号字体:
    • 来自ms word:较低的代码范围字符(主要是希腊语)工作
    • 来自MS Word:缺少较高的代码范围字符,因为 word以一种不受支持的极其复杂的方式对它们进行编码 按Pyth当前
    • 从写字板:低和高代码范围字符出来 错误的编码(ANSI,我认为)

pyth.plugins.xhtml.writer:

  • 功能非常有限

pyth.plugins.plaintext.writer:

  • 功能非常有限

其他:

  • 如果没有一些移植的爱和关心,python 3将无法工作

测试

别试着把它们都处理掉,太令人沮丧了。 py.test -v test_readrtf15.py是运行最不令人沮丧的 它们的子集。 在python 3上,其他大多数都会失败,这很正常。 test_readrtf15.py根据 在{{CD4}}中的现有输入文件 已存在的引用输出文件,在< { } > }和< } > }。 空的或丢失的输出文件指示功能丢失的位置, 如果你想帮忙的话,这很好地说明了你可以跳进去的地方。

依赖关系

只有最重要的两个依赖关系, 实际上是在setup.py中声明的,因为其他的都很大,但是 仅在尚未移植到Python3的Pyth组件中才需要。 它们是:

  • reportlab对于pdfwriter
  • docutils对于LatexWriter

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Getting“类型不匹配:在实例化映射列表时,无法将ArrayList<HashMap<String,String>>转换为List<Map<String,String>>”   java如何将ArrayList传输到安卓中的其他活动?   使用bouncy castle作为加密提供程序和GCM、cipherOutputStream时使用java。close()似乎没有抛出invalidCipherTextException   将自定义库导出到可导入jar文件java   java如何在队列中使用异常   JAVA木卫一。FileNotFoundException。正在尝试传入参数[0]   java使用自定义构造函数将JsonNode转换为POJO   由于无限循环,java Netbeans自动生成的GUI未显示。。。但我需要那个环   运行时从另一个Java cosole应用程序运行Java控制台应用程序   java在安卓中播放彩信wmv视频   web服务在Java中创建和发送SOAP消息   ReactJS&Java:对飞行前请求的响应未通过访问控制检查   java如何在安卓中使用PRDownloader恢复下载文件?   java为什么openFd(文件名)不能使用字符串?