首页 > 解决方案 > 如何使用 Python 3.7 解码使用 VIM 二合字母创建的特殊字符?

问题描述

作为我学习的一部分,我想使用在线软件创建闪存卡。

为此,我使用 Python 3.7 解析文件并生成我的闪存卡的正面和背面(然后我使用 pyautogui 将其添加到闪存卡软件中)。我希望能够解析使用 VIM 二合字母创建的特殊字符。

我的笔记结构使得每一第二段都是一个问题,每一第二段都是一个答案,这样它就可以很容易地按段落拆分。我目前正在学习化学,在这种情况下有很多符号非常有用,让我可以写出如下内容:

Vad är den allmänna formeln för syrabas-jämvikter där syran dominerar?

* HA + H₂O ↔ H₃O⁺ + A⁻
* HA ↔ H⁺ + A⁻
* HA = Godtycklig syra
* A⁻ = Syrans konjugerade bas

Hur stor är syrakonstanten (Ionization constant)?

* K_a = {H₃O⁺}{A⁻} / {HA} (Då {H₂O} = 1)

Hur beräknas förändringar i inre energi?

* dU = dq + dw ⇒ ΔU = q + w
  * dU, ΔU = Ändringen i inre energi
  * dq, q = Värme (tillförsel/bortförsel)
  * dw, w = Arbete (tillförsel/bortförsel)

Hur protolyseras flerprotoniga syror?

* H₃A ↔ H⁺ + H₂A⁻ (K_a1)
* H₂A⁻ ↔ H⁺ + HA²⁻ (K_a2)
* HA²⁻ ↔ H⁺ + A³⁻ (K_a3)
* K_a1 > K_a2 > K_a3

这是我正在解析的笔记的一个小样本。当将这些直接从 VIM 复制到浏览器中时,它会产生所需的符号,但我想自动化创建卡片的过程。

当我尝试用 Python 解析它时,所有这些特殊字符都消失了,导致需要大量人工来纠正所有小符号。

pyautogui.typewrite(...)用来输出问题。我目前用来解析的代码大致如下:

file_name = "..." # The file with the notes

with open(file_name, encoding="utf-8") as f:
    paragraphs = iter(f.read().split("\n\n"))

questions = ((question, next(paragraphs)) for question in paragraphs)

有没有办法使用 Python 3.7 在我的笔记中输入和输出符号?

干杯!

标签: python-3.xpython-3.7

解决方案


推荐阅读