在2021年的最后一天写一篇博客吧~
本文中的代码均采用GPL v3协议发布
背景
markdown是一种轻量级的文本标记语言,语法较原始的HTML简单很多,但这并不意味着用markdown写博客就非常轻松。markdown语言中,插入表格或插入图片的格式输入虽然已经大幅简化,但仍然较为麻烦。而且,我的博客的表格中可能会出现带有上下标的化学式,但markdown标记语言本身并不支持上下标,对文本进行上下标操作需要用原始的HTML语法实现,短短的几个化学式就要输入一大堆<sup>
、</sup>
、<sub>
、</sub>
,很不方便
因此,我开始利用python程序自动生成所需要的markdown标记语言代码
表格生成器
我需要的自动生成表格工具主要要解决表格格式、表格内部图片插入、化学式上下标、科学计数法转化及排序这几个问题
代码
#!/usr/bin/env python3
from fnmatch import fnmatch
def pic(x):
if '://' in x:
return '[![]({0})]({0})'.format(x)
else:
return '[![]({0}{1})]({0}{1})'.format('/img/', x)
def scientificnum(s):
s = s.replace('×10', 'e', 1)
s = s.replace('*10', 'e', 1)
return eval(s)
print('请输入表格的标题栏内容:')
title = input().split()
tit = '| '
neck = '| '
for i in range(len(title)):
tit += title[i] + ' | '
neck += '---- | '
print('考虑到博客的表格中有很多化学式,请指出表格的哪些栏需要将数字下标化与电荷上标化?(没有请回车)')
down = {int(i)-1 for i in input().split()}
print('请指出哪些栏需要按照科学计数法进行格式转化(没有请回车)')
scien = {int(i)-1 for i in input().split()}
print('请逐行输入表格内容(内容结束后请直接回车,上标前后请用<>标出,插图请用"#~"+文件名或地址):')
content = []
i = input().split()
while i:
content.append(i)
i = input().split()
print('若需要排序请输入根据表格哪一栏排序(否则直接回车)')
request = input()
if request:
if int(request)-1 in scien:
try:
content = sorted(content, key = lambda x: scientificnum(x[int(request)-1]))
except (TypeError, NameError, SyntaxError):
content = sorted(content, key = lambda x: x[int(request)-1])
else:
try:
content = sorted(content, key = lambda x: eval(x[int(request)-1]))
except (TypeError, NameError, SyntaxError):
content = sorted(content, key = lambda x: x[int(request)-1])
tab = []
for info in content:
out = '| '
for i in range(len(info)):
if fnmatch(info[i], '#~*'):
info[i] = pic(info[i][2:])
out += info[i] + ' | '
continue
if i in scien:
if '×10' in info[i]:
info[i] = info[i].replace('×10', '×10<sup>', 1)
info[i] += '</sup>'
elif '*10' in info[i]:
info[i] = info[i].replace('*10', '×10<sup>', 1)
info[i] += '</sup>'
elif 'e' in info[i]:
info[i] = info[i].replace('e', '×10<sup>', 1)
info[i] += '</sup>'
if i in down:
temp = ''
j = 0
while j < len(info[i]):
word = info[i][j]
if '0' <= word <= '9':
temp += '<sub>' + word + '</sub>'
j += 1
elif word == '<':
temp += '<sup>'
j += 1
while info[i][j] != '>':
temp += info[i][j]
j += 1
else:
temp += '</sup>'
j += 1
else:
temp += word
j += 1
else:
info[i] = temp
out += info[i] + ' | '
tab.append(out)
with open("tmp.md", "w", encoding="utf-8") as initlize:
initlize.write('')
with open("tmp.md", "a", encoding="utf-8") as echo:
echo.write(tit + '\n')
print(tit)
echo.write(neck + '\n')
print(neck)
for i in tab:
echo.write(i + '\n')
print(i)
print('完成!输出表格见"tmp.md"')
由上,按照提示输入内容即可
说明
为了方便起见,图片仅需在前面加#~
即可识别,同时,由于我的博客中图片均存放在/img
下,所以当检测到图片地址不是绝对网址时,默认其在本网站的/img
下以减少输入量
这个程序除了能将科学计数法进行格式转化外,还可以对其识别并按照其大小进行排序;由于×
输入不太方便,所以在输入科学计数法时,除了可以输入5.34×107
这种形式外,也可以按如1.23*10-8
与7.56e8
这样的格式输入
对于化学式,该程序默认可以直接标出数字下标,但是上标需要手动用<
>
框出,这样设计主要是为了避免歧义,例如当输入为SO42-
时,如果不示出上标,程序将无法得知其含义为SO42-、SO42-还是SO42-
排序的逻辑是:如果是科学计数法,或者python能计算的数、计算式,则按数或计算结果的大小排序(升序),否则则按字符编码顺序排序;注意科学计数法应当表达规范,如,1×105不能写成105,否则将正确无法识别
这个程序生成的markdown文件中的表格一般可以由markdown阅读器或者网页浏览器复制出来,并可以粘贴到Word文档或Excel表格中,似乎也可以为上下标省一些事……
目前这个程序是靠空格进行表格分栏识别的,所以每个栏的内部不能含有空格,否则将会出现错误
此外,注意表格前要空一行,不能与其他内容直接相接,否则有些要求严格的markdown解析器可能会出错……
输入输出示例1
输入内容
化合物 化学式 温度 K<sub>sp</sub> 来源
2
4
无水氢氧化铝 Al(OH)3 20°C 1.9×10–33 L
无水氢氧化铝 Al(OH)3 25°C 3×10–34 w1
三水合氢氧化铝 Al(OH)3 20°C 4×10–13 C
三水合氧化铝 Al(OH)3 25°C 3.7×10–13 C
磷酸铝 AlPO4 25°C 9.84×10–21 w1
溴酸钡 Ba(BrO3)2 25°C 2.43×10–4 w1
碳酸钡 BaCO3 16°C 7×10–9 C,L
碳酸钡 BaCO3 25°C 8.1×10–9 C,L
铬酸钡 BaCrO4 28°C 2.4×10–10 C,L
氟化钡 BaF2 25.8°C 1.73×10–6 C,L
二水合碘酸钡 Ba(IO3)2 25°C 6.5×10–10 C,L
二水合草酸钡 BaC2O4 18°C 1.2×10–7 C,L
硫酸钡 BaSO4 18°C 0.87×10–10 C,L
硫酸钡 BaSO4 25°C 1.08×10–10 C,L
硫酸钡 BaSO4 50°C 1.98×10–10 C,L
氢氧化铍 Be(OH)2 25°C 6.92×10–22 w1
碳酸镉 CdCO3 25°C 1.0×10–12 w1
氢氧化镉 Cd(OH)2 25°C 7.2×10–15 w1
三水合草酸镉 CdC2O4 18°C 1.53×10–8 C,L
磷酸镉 Cd3(PO4)2 25°C 2.53×10–33 w1
硫化镉 CdS 18°C 3.6×10–29 C,L
碳酸钙(方解石) CaCO3 15°C 0.99×10–8 C,L
碳酸钙(方解石) CaCO3 25°C 0.87×10–8 C,L
碳酸钙(方解石) CaCO3 18-25°C 4.8×10–9 P
铬酸钙 CaCrO4 18°C 2.3×10–2 L
氟化钙 CaF2 18°C 3.4×10–11 C,L
氟化钙 CaF2 25°C 3.95×10–11 C,L
氢氧化钙 Ca(OH)2 18°C-25°C 8×10–6 P
氢氧化钙 Ca(OH)2 25°C 5.02×10–6 w1
六水合碘酸钙 Ca(IO3)2 18°C 6.44×10–7 L
一水合草酸钙 CaC2O4 18°C 1.78×10–9 C,L
一水合草酸钙 CaC2O4 25°C 2.57×10–9 C,L
磷酸钙 Ca3(PO4)2 25°C 2.07×10–33 w1
硫酸钙 CaSO4 10°C 6.1×10–5 C,L
硫酸钙 CaSO4 25°C 4.93×10–5 w1
二水合酒石酸钙 CaC4H4O6 18°C 7.7×10–7 C,L
氢氧化亚铬 Cr(OH)2 25°C 2×10–16 w2
氢氧化铬 Cr(OH)3 25°C 6.3×10–31 w2
氢氧化钴 Co(OH)2 25°C 1.6×10–15 w2
硫化钴 CoS 18°C 3×10–26 C,L
硫化钴 CoS 18°C-25°C 1*10–21 P
碳酸铜 CuCO3 25°C 1×10–10 P
氢氧化铜 Cu(OH)2 18°C-25°C 6×10–20 P
氢氧化铜 Cu(OH)2 25°C 4.8×10–20 w1
碘酸铜 Cu(IO3)2 25°C 1.4×10–7 C,L
草酸铜 CuC2O4 25°C 2.87×10–8 C,L
硫化铜 CuS 18°C 8.5×10–45 C,L
溴化亚铜 CuBr 18°C-20°C 4.15×10–8 C
氯化亚铜 CuCl 18°C-20°C 1.02×10–6 C
氢氧化亚铜 CuOH 25°C 2×10–15 w1
碘化亚铜 CuI 18°C-20°C 5.06×10–12 C
硫化亚铜 Cu2S 16°C-18°C 2×10–47 C,L
硫氰化亚铜 CuSCN 18°C 1.64×10–11 C,L
氢氧化铁 Fe(OH)3 18°C 1.1×10–36 C,L
碳酸亚铁 FeCO3 18°C-25°C 2×10–11 P
氢氧化亚铁 Fe(OH)2 18°C 1.64×10–14 C,L
氢氧化亚铁 Fe(OH)2 25°C 1×10–15 Pw2
草酸亚铁 FeC2O4 25°C 2.1×10–7 C,L
硫化亚铁 FeS 18°C 3.7×10–19 C,L
溴化铅 PbBr2 25°C 6.3×10–6 w1
碳酸铅 PbCO3 18°C 3.3×10–14 C,L
铬酸铅 PbCrO4 18°C 1.77×10–14 C,L
氯化铅 PbCl2 25.2°C 1.0×10–4 L
氯化铅 PbCl2 18°C-25°C 1.7×10–5 P
氟化铅 PbF2 18°C 3.2×10–8 C,L
氟化铅 PbF2 26.6°C 3.7×10–8 C,L
氢氧化铅 Pb(OH)2 25°C 1×10–16 w1
碘酸铅 Pb(IO3)2 18°C 1.2×10–13 C,L
碘酸铅 Pb(IO3)2 25.8°C 2.6×10–13 C,L
碘化铅 PbI2 15°C 7.47×10–9 C
碘化铅 PbI2 25°C 1.39×10–8 C
草酸铅 PbC2O4 18°C 2.74×10–11 C,L
硫酸铅 PbSO4 18°C 1.6×10–8 C,L
硫化铅 PbS 18°C 3.4×10–28 C,L
碳酸锂 Li2CO3 25°C 1.7×10–3 C,L
氟化锂 LiF 25°C 1.84×10–3 w1
磷酸锂 Li3PO4 25° 2.37×10–4 w1
磷酸铵镁 MgNH4PO4 25°C 2.5×10–13 C,L
碳酸镁 MgCO3 12°C 2.6×10–5 C,L
氟化镁 MgF2 18°C 7.1×10–9 C,L
氟化镁 MgF2 25°C 6.4×10–9 C,L
氢氧化镁 Mg(OH)2 18°C 1.2×10–11 C,L
草酸镁 MgC2O4 18°C 8.57×10–5 C,L
碳酸锰 MnCO3 18°C-25°C 9×10–11 P
氢氧化锰 Mn(OH)2 18°C 4×10–14 C,L
硫化锰(粉色) MnS 18°C 1.4×10–15 C,L
硫化锰(绿色) MnS 25°C 1*10–22 P
溴化汞 HgBr2 25°C 8×10–20 L
氯化汞 HgCl2 25°C 2.6×10–15 L
氢氧化汞 Hg(OH)2 25°C 3.6×10–26 w1
碘化汞 HgI2 25°C 3.2×10–29 L
硫化汞 HgS 18°C 4×10–53 C,L
溴化亚汞 Hg2Br2 25°C 1.3×10–21 C,L
氯化亚汞 Hg2Cl2 25°C 2×10–18 C,L
碘化亚汞 Hg2I2 25°C 1.2×10–28 C,L
硫酸亚汞 Hg2SO4 25°C 6×10–7 Pw1
氢氧化镍 Ni(OH)2 25°C 5.48×10–16 w1
硫化镍 NiS 18°C 1.4×10–24 C,L
硫化镍 NiS 18°C-25°C 1*10–27 P
硫化镍 NiS 18°C-25°C 1*10–21 P
酒石酸氢钾 KHC4H4O6 18°C 3.8×10–4 C,L
高氯酸钾 KClO4 25°C 1.05×10–2 w1
高碘酸钾 KIO4 25° 3.71×10–4 w1
乙酸银 AgC2H3O2 16°C 1.82×10–3 L
溴酸银 AgBrO3 20°C 3.97×10–5 C,L
溴酸银 AgBrO3 25°C 5.77×10–5 C,L
溴化银 AgBr 18°C 4.1×10–13 C,L
溴化银 AgBr 25°C 5.35×10–13 C,L
碳酸银 Ag2CO3 25°C 6.15×10–12 C,L
氯化银 AgCl 4.7°C 0.21×10–10 C,L
氯化银 AgCl 9.7°C 0.37×10–10 L
氯化银 AgCl 25°C 1.77×10–10 C,L
氯化银 AgCl 50°C 13.2×10–10 C,L
氯化银 AgCl 100°C 21.5×10–10 C,L
铬酸银 Ag2CrO4 14.8°C 1.2×10–12 C,L
铬酸银 Ag2CrO4 25°C 9×10–12 C,L
氰化银 Ag2(CN)2 20°C 2.2×10–12 C,L
重铬酸银 Ag2Cr2O7 25°C 2×10–7 L
氢氧化银 AgOH 20°C 1.52×10–8 C,L
碘酸银 AgIO3 9.4°C 0.92×10–8 C,L
碘化银 AgI 13°C 0.32×10–16 C,L
碘化银 AgI 25°C 1.5×10–16 C,L
亚硝酸银 AgNO2 25°C 5.86×10–4 L
草酸银 Ag2C2O4 25°C 1.3×10–11 L
硫酸银 Ag2SO4 18°C-25°C 1.2×10–5 P
硫化银 Ag2S 18°C 1.6×10–49 C,L
硫氰化银 AgSCN 18°C 0.49×10–12 C,L
硫氰化银 AgSCN 25°C 1.16×10–12 C,L
碳酸锶 SrCO3 25°C 1.6×10–9 C,L
铬酸锶 SrCrO4 18°C-25°C 3.6×10–5 P
氟化锶 SrF2 18°C 2.8×10–9 C,L
草酸锶 SrC2O4 18°C 5.61×10–8 C,L
硫酸锶 SrSO4 2.9°C 2.77×10–7 C,L
硫酸锶 SrSO4 17.4°C 2.81×10–7 C,L
溴化铊 TlBr 25°C 4×10–6 L
氯化铊 TlCl 25°C 2.65×10–4 L
硫酸铊 Tl2SO4 25°C 3.6×10–4 L
硫氰化铊 TlSCN 25°C 2.25×10–4 L
氢氧化锡 Sn(OH)2 18°C-25°C 1×10–26 P
氢氧化锡 Sn(OH)2 25°C 5.45×10–27 w1,w2
硫化锡 SnS 25°C 1*10–28 P
氢氧化锌 Zn(OH)2 18°C-20°C 1.8×10–14 C,L
二水合草酸锌 ZnC2O4 18°C 1.35×10–9 C,L
硫化锌 ZnS 18°C 1.2×10–23 C,L
2
输出代码
| 化合物 | 化学式 | 温度 | K<sub>sp</sub> | 来源 |
| ---- | ---- | ---- | ---- | ---- |
| 氰化银 | Ag<sub>2</sub>(CN)<sub>2</sub> | 20°C | 2.2×10<sup>–12</sup> | C,L |
| 草酸银 | Ag<sub>2</sub>C<sub>2</sub>O<sub>4</sub> | 25°C | 1.3×10<sup>–11</sup> | L |
| 碳酸银 | Ag<sub>2</sub>CO<sub>3</sub> | 25°C | 6.15×10<sup>–12</sup> | C,L |
| 重铬酸银 | Ag<sub>2</sub>Cr<sub>2</sub>O<sub>7</sub> | 25°C | 2×10<sup>–7</sup> | L |
| 铬酸银 | Ag<sub>2</sub>CrO<sub>4</sub> | 14.8°C | 1.2×10<sup>–12</sup> | C,L |
| 铬酸银 | Ag<sub>2</sub>CrO<sub>4</sub> | 25°C | 9×10<sup>–12</sup> | C,L |
| 硫化银 | Ag<sub>2</sub>S | 18°C | 1.6×10<sup>–49</sup> | C,L |
| 硫酸银 | Ag<sub>2</sub>SO<sub>4</sub> | 18°C-25°C | 1.2×10<sup>–5</sup> | P |
| 溴化银 | AgBr | 18°C | 4.1×10<sup>–13</sup> | C,L |
| 溴化银 | AgBr | 25°C | 5.35×10<sup>–13</sup> | C,L |
| 溴酸银 | AgBrO<sub>3</sub> | 20°C | 3.97×10<sup>–5</sup> | C,L |
| 溴酸银 | AgBrO<sub>3</sub> | 25°C | 5.77×10<sup>–5</sup> | C,L |
| 乙酸银 | AgC<sub>2</sub>H<sub>3</sub>O<sub>2</sub> | 16°C | 1.82×10<sup>–3</sup> | L |
| 氯化银 | AgCl | 4.7°C | 0.21×10<sup>–10</sup> | C,L |
| 氯化银 | AgCl | 9.7°C | 0.37×10<sup>–10</sup> | L |
| 氯化银 | AgCl | 25°C | 1.77×10<sup>–10</sup> | C,L |
| 氯化银 | AgCl | 50°C | 13.2×10<sup>–10</sup> | C,L |
| 氯化银 | AgCl | 100°C | 21.5×10<sup>–10</sup> | C,L |
| 碘化银 | AgI | 13°C | 0.32×10<sup>–16</sup> | C,L |
| 碘化银 | AgI | 25°C | 1.5×10<sup>–16</sup> | C,L |
| 碘酸银 | AgIO<sub>3</sub> | 9.4°C | 0.92×10<sup>–8</sup> | C,L |
| 亚硝酸银 | AgNO<sub>2</sub> | 25°C | 5.86×10<sup>–4</sup> | L |
| 氢氧化银 | AgOH | 20°C | 1.52×10<sup>–8</sup> | C,L |
| 硫氰化银 | AgSCN | 18°C | 0.49×10<sup>–12</sup> | C,L |
| 硫氰化银 | AgSCN | 25°C | 1.16×10<sup>–12</sup> | C,L |
| 无水氢氧化铝 | Al(OH)<sub>3</sub> | 20°C | 1.9×10<sup>–33</sup> | L |
| 无水氢氧化铝 | Al(OH)<sub>3</sub> | 25°C | 3×10<sup>–34</sup> | w1 |
| 三水合氢氧化铝 | Al(OH)<sub>3</sub> | 20°C | 4×10<sup>–13</sup> | C |
| 三水合氧化铝 | Al(OH)<sub>3</sub> | 25°C | 3.7×10<sup>–13</sup> | C |
| 磷酸铝 | AlPO<sub>4</sub> | 25°C | 9.84×10<sup>–21</sup> | w1 |
| 溴酸钡 | Ba(BrO<sub>3</sub>)<sub>2</sub> | 25°C | 2.43×10<sup>–4</sup> | w1 |
| 二水合碘酸钡 | Ba(IO<sub>3</sub>)<sub>2</sub> | 25°C | 6.5×10<sup>–10</sup> | C,L |
| 二水合草酸钡 | BaC<sub>2</sub>O<sub>4</sub> | 18°C | 1.2×10<sup>–7</sup> | C,L |
| 碳酸钡 | BaCO<sub>3</sub> | 16°C | 7×10<sup>–9</sup> | C,L |
| 碳酸钡 | BaCO<sub>3</sub> | 25°C | 8.1×10<sup>–9</sup> | C,L |
| 铬酸钡 | BaCrO<sub>4</sub> | 28°C | 2.4×10<sup>–10</sup> | C,L |
| 氟化钡 | BaF<sub>2</sub> | 25.8°C | 1.73×10<sup>–6</sup> | C,L |
| 硫酸钡 | BaSO<sub>4</sub> | 18°C | 0.87×10<sup>–10</sup> | C,L |
| 硫酸钡 | BaSO<sub>4</sub> | 25°C | 1.08×10<sup>–10</sup> | C,L |
| 硫酸钡 | BaSO<sub>4</sub> | 50°C | 1.98×10<sup>–10</sup> | C,L |
| 氢氧化铍 | Be(OH)<sub>2</sub> | 25°C | 6.92×10<sup>–22</sup> | w1 |
| 六水合碘酸钙 | Ca(IO<sub>3</sub>)<sub>2</sub> | 18°C | 6.44×10<sup>–7</sup> | L |
| 氢氧化钙 | Ca(OH)<sub>2</sub> | 18°C-25°C | 8×10<sup>–6</sup> | P |
| 氢氧化钙 | Ca(OH)<sub>2</sub> | 25°C | 5.02×10<sup>–6</sup> | w1 |
| 磷酸钙 | Ca<sub>3</sub>(PO<sub>4</sub>)<sub>2</sub> | 25°C | 2.07×10<sup>–33</sup> | w1 |
| 一水合草酸钙 | CaC<sub>2</sub>O<sub>4</sub> | 18°C | 1.78×10<sup>–9</sup> | C,L |
| 一水合草酸钙 | CaC<sub>2</sub>O<sub>4</sub> | 25°C | 2.57×10<sup>–9</sup> | C,L |
| 二水合酒石酸钙 | CaC<sub>4</sub>H<sub>4</sub>O<sub>6</sub> | 18°C | 7.7×10<sup>–7</sup> | C,L |
| 碳酸钙(方解石) | CaCO<sub>3</sub> | 15°C | 0.99×10<sup>–8</sup> | C,L |
| 碳酸钙(方解石) | CaCO<sub>3</sub> | 25°C | 0.87×10<sup>–8</sup> | C,L |
| 碳酸钙(方解石) | CaCO<sub>3</sub> | 18-25°C | 4.8×10<sup>–9</sup> | P |
| 铬酸钙 | CaCrO<sub>4</sub> | 18°C | 2.3×10<sup>–2</sup> | L |
| 氟化钙 | CaF<sub>2</sub> | 18°C | 3.4×10<sup>–11</sup> | C,L |
| 氟化钙 | CaF<sub>2</sub> | 25°C | 3.95×10<sup>–11</sup> | C,L |
| 硫酸钙 | CaSO<sub>4</sub> | 10°C | 6.1×10<sup>–5</sup> | C,L |
| 硫酸钙 | CaSO<sub>4</sub> | 25°C | 4.93×10<sup>–5</sup> | w1 |
| 氢氧化镉 | Cd(OH)<sub>2</sub> | 25°C | 7.2×10<sup>–15</sup> | w1 |
| 磷酸镉 | Cd<sub>3</sub>(PO<sub>4</sub>)<sub>2</sub> | 25°C | 2.53×10<sup>–33</sup> | w1 |
| 三水合草酸镉 | CdC<sub>2</sub>O<sub>4</sub> | 18°C | 1.53×10<sup>–8</sup> | C,L |
| 碳酸镉 | CdCO<sub>3</sub> | 25°C | 1.0×10<sup>–12</sup> | w1 |
| 硫化镉 | CdS | 18°C | 3.6×10<sup>–29</sup> | C,L |
| 氢氧化钴 | Co(OH)<sub>2</sub> | 25°C | 1.6×10<sup>–15</sup> | w2 |
| 硫化钴 | CoS | 18°C | 3×10<sup>–26</sup> | C,L |
| 硫化钴 | CoS | 18°C-25°C | 1×10<sup>–21</sup> | P |
| 氢氧化亚铬 | Cr(OH)<sub>2</sub> | 25°C | 2×10<sup>–16</sup> | w2 |
| 氢氧化铬 | Cr(OH)<sub>3</sub> | 25°C | 6.3×10<sup>–31</sup> | w2 |
| 碘酸铜 | Cu(IO<sub>3</sub>)<sub>2</sub> | 25°C | 1.4×10<sup>–7</sup> | C,L |
| 氢氧化铜 | Cu(OH)<sub>2</sub> | 18°C-25°C | 6×10<sup>–20</sup> | P |
| 氢氧化铜 | Cu(OH)<sub>2</sub> | 25°C | 4.8×10<sup>–20</sup> | w1 |
| 硫化亚铜 | Cu<sub>2</sub>S | 16°C-18°C | 2×10<sup>–47</sup> | C,L |
| 溴化亚铜 | CuBr | 18°C-20°C | 4.15×10<sup>–8</sup> | C |
| 草酸铜 | CuC<sub>2</sub>O<sub>4</sub> | 25°C | 2.87×10<sup>–8</sup> | C,L |
| 碳酸铜 | CuCO<sub>3</sub> | 25°C | 1×10<sup>–10</sup> | P |
| 氯化亚铜 | CuCl | 18°C-20°C | 1.02×10<sup>–6</sup> | C |
| 碘化亚铜 | CuI | 18°C-20°C | 5.06×10<sup>–12</sup> | C |
| 氢氧化亚铜 | CuOH | 25°C | 2×10<sup>–15</sup> | w1 |
| 硫化铜 | CuS | 18°C | 8.5×10<sup>–45</sup> | C,L |
| 硫氰化亚铜 | CuSCN | 18°C | 1.64×10<sup>–11</sup> | C,L |
| 氢氧化亚铁 | Fe(OH)<sub>2</sub> | 18°C | 1.64×10<sup>–14</sup> | C,L |
| 氢氧化亚铁 | Fe(OH)<sub>2</sub> | 25°C | 1×10<sup>–15</sup> | Pw2 |
| 氢氧化铁 | Fe(OH)<sub>3</sub> | 18°C | 1.1×10<sup>–36</sup> | C,L |
| 草酸亚铁 | FeC<sub>2</sub>O<sub>4</sub> | 25°C | 2.1×10<sup>–7</sup> | C,L |
| 碳酸亚铁 | FeCO<sub>3</sub> | 18°C-25°C | 2×10<sup>–11</sup> | P |
| 硫化亚铁 | FeS | 18°C | 3.7×10<sup>–19</sup> | C,L |
| 氢氧化汞 | Hg(OH)<sub>2</sub> | 25°C | 3.6×10<sup>–26</sup> | w1 |
| 溴化亚汞 | Hg<sub>2</sub>Br<sub>2</sub> | 25°C | 1.3×10<sup>–21</sup> | C,L |
| 氯化亚汞 | Hg<sub>2</sub>Cl<sub>2</sub> | 25°C | 2×10<sup>–18</sup> | C,L |
| 碘化亚汞 | Hg<sub>2</sub>I<sub>2</sub> | 25°C | 1.2×10<sup>–28</sup> | C,L |
| 硫酸亚汞 | Hg<sub>2</sub>SO<sub>4</sub> | 25°C | 6×10<sup>–7</sup> | Pw1 |
| 溴化汞 | HgBr<sub>2</sub> | 25°C | 8×10<sup>–20</sup> | L |
| 氯化汞 | HgCl<sub>2</sub> | 25°C | 2.6×10<sup>–15</sup> | L |
| 碘化汞 | HgI<sub>2</sub> | 25°C | 3.2×10<sup>–29</sup> | L |
| 硫化汞 | HgS | 18°C | 4×10<sup>–53</sup> | C,L |
| 高氯酸钾 | KClO<sub>4</sub> | 25°C | 1.05×10<sup>–2</sup> | w1 |
| 酒石酸氢钾 | KHC<sub>4</sub>H<sub>4</sub>O<sub>6</sub> | 18°C | 3.8×10<sup>–4</sup> | C,L |
| 高碘酸钾 | KIO<sub>4</sub> | 25° | 3.71×10<sup>–4</sup> | w1 |
| 碳酸锂 | Li<sub>2</sub>CO<sub>3</sub> | 25°C | 1.7×10<sup>–3</sup> | C,L |
| 磷酸锂 | Li<sub>3</sub>PO<sub>4</sub> | 25° | 2.37×10<sup>–4</sup> | w1 |
| 氟化锂 | LiF | 25°C | 1.84×10<sup>–3</sup> | w1 |
| 氢氧化镁 | Mg(OH)<sub>2</sub> | 18°C | 1.2×10<sup>–11</sup> | C,L |
| 草酸镁 | MgC<sub>2</sub>O<sub>4</sub> | 18°C | 8.57×10<sup>–5</sup> | C,L |
| 碳酸镁 | MgCO<sub>3</sub> | 12°C | 2.6×10<sup>–5</sup> | C,L |
| 氟化镁 | MgF<sub>2</sub> | 18°C | 7.1×10<sup>–9</sup> | C,L |
| 氟化镁 | MgF<sub>2</sub> | 25°C | 6.4×10<sup>–9</sup> | C,L |
| 磷酸铵镁 | MgNH<sub>4</sub>PO<sub>4</sub> | 25°C | 2.5×10<sup>–13</sup> | C,L |
| 氢氧化锰 | Mn(OH)<sub>2</sub> | 18°C | 4×10<sup>–14</sup> | C,L |
| 碳酸锰 | MnCO<sub>3</sub> | 18°C-25°C | 9×10<sup>–11</sup> | P |
| 硫化锰(粉色) | MnS | 18°C | 1.4×10<sup>–15</sup> | C,L |
| 硫化锰(绿色) | MnS | 25°C | 1×10<sup>–22</sup> | P |
| 氢氧化镍 | Ni(OH)<sub>2</sub> | 25°C | 5.48×10<sup>–16</sup> | w1 |
| 硫化镍 | NiS | 18°C | 1.4×10<sup>–24</sup> | C,L |
| 硫化镍 | NiS | 18°C-25°C | 1×10<sup>–27</sup> | P |
| 硫化镍 | NiS | 18°C-25°C | 1×10<sup>–21</sup> | P |
| 碘酸铅 | Pb(IO<sub>3</sub>)<sub>2</sub> | 18°C | 1.2×10<sup>–13</sup> | C,L |
| 碘酸铅 | Pb(IO<sub>3</sub>)<sub>2</sub> | 25.8°C | 2.6×10<sup>–13</sup> | C,L |
| 氢氧化铅 | Pb(OH)<sub>2</sub> | 25°C | 1×10<sup>–16</sup> | w1 |
| 溴化铅 | PbBr<sub>2</sub> | 25°C | 6.3×10<sup>–6</sup> | w1 |
| 草酸铅 | PbC<sub>2</sub>O<sub>4</sub> | 18°C | 2.74×10<sup>–11</sup> | C,L |
| 碳酸铅 | PbCO<sub>3</sub> | 18°C | 3.3×10<sup>–14</sup> | C,L |
| 氯化铅 | PbCl<sub>2</sub> | 25.2°C | 1.0×10<sup>–4</sup> | L |
| 氯化铅 | PbCl<sub>2</sub> | 18°C-25°C | 1.7×10<sup>–5</sup> | P |
| 铬酸铅 | PbCrO<sub>4</sub> | 18°C | 1.77×10<sup>–14</sup> | C,L |
| 氟化铅 | PbF<sub>2</sub> | 18°C | 3.2×10<sup>–8</sup> | C,L |
| 氟化铅 | PbF<sub>2</sub> | 26.6°C | 3.7×10<sup>–8</sup> | C,L |
| 碘化铅 | PbI<sub>2</sub> | 15°C | 7.47×10<sup>–9</sup> | C |
| 碘化铅 | PbI<sub>2</sub> | 25°C | 1.39×10<sup>–8</sup> | C |
| 硫化铅 | PbS | 18°C | 3.4×10<sup>–28</sup> | C,L |
| 硫酸铅 | PbSO<sub>4</sub> | 18°C | 1.6×10<sup>–8</sup> | C,L |
| 氢氧化锡 | Sn(OH)<sub>2</sub> | 18°C-25°C | 1×10<sup>–26</sup> | P |
| 氢氧化锡 | Sn(OH)<sub>2</sub> | 25°C | 5.45×10<sup>–27</sup> | w1,w2 |
| 硫化锡 | SnS | 25°C | 1×10<sup>–28</sup> | P |
| 草酸锶 | SrC<sub>2</sub>O<sub>4</sub> | 18°C | 5.61×10<sup>–8</sup> | C,L |
| 碳酸锶 | SrCO<sub>3</sub> | 25°C | 1.6×10<sup>–9</sup> | C,L |
| 铬酸锶 | SrCrO<sub>4</sub> | 18°C-25°C | 3.6×10<sup>–5</sup> | P |
| 氟化锶 | SrF<sub>2</sub> | 18°C | 2.8×10<sup>–9</sup> | C,L |
| 硫酸锶 | SrSO<sub>4</sub> | 2.9°C | 2.77×10<sup>–7</sup> | C,L |
| 硫酸锶 | SrSO<sub>4</sub> | 17.4°C | 2.81×10<sup>–7</sup> | C,L |
| 硫酸铊 | Tl<sub>2</sub>SO<sub>4</sub> | 25°C | 3.6×10<sup>–4</sup> | L |
| 溴化铊 | TlBr | 25°C | 4×10<sup>–6</sup> | L |
| 氯化铊 | TlCl | 25°C | 2.65×10<sup>–4</sup> | L |
| 硫氰化铊 | TlSCN | 25°C | 2.25×10<sup>–4</sup> | L |
| 氢氧化锌 | Zn(OH)<sub>2</sub> | 18°C-20°C | 1.8×10<sup>–14</sup> | C,L |
| 二水合草酸锌 | ZnC<sub>2</sub>O<sub>4</sub> | 18°C | 1.35×10<sup>–9</sup> | C,L |
| 硫化锌 | ZnS | 18°C | 1.2×10<sup>–23</sup> | C,L |
呈现
化合物 | 化学式 | 温度 | Ksp | 来源 |
---|---|---|---|---|
氰化银 | Ag2(CN)2 | 20°C | 2.2×10–12 | C,L |
草酸银 | Ag2C2O4 | 25°C | 1.3×10–11 | L |
碳酸银 | Ag2CO3 | 25°C | 6.15×10–12 | C,L |
重铬酸银 | Ag2Cr2O7 | 25°C | 2×10–7 | L |
铬酸银 | Ag2CrO4 | 14.8°C | 1.2×10–12 | C,L |
铬酸银 | Ag2CrO4 | 25°C | 9×10–12 | C,L |
硫化银 | Ag2S | 18°C | 1.6×10–49 | C,L |
硫酸银 | Ag2SO4 | 18°C-25°C | 1.2×10–5 | P |
溴化银 | AgBr | 18°C | 4.1×10–13 | C,L |
溴化银 | AgBr | 25°C | 5.35×10–13 | C,L |
溴酸银 | AgBrO3 | 20°C | 3.97×10–5 | C,L |
溴酸银 | AgBrO3 | 25°C | 5.77×10–5 | C,L |
乙酸银 | AgC2H3O2 | 16°C | 1.82×10–3 | L |
氯化银 | AgCl | 4.7°C | 0.21×10–10 | C,L |
氯化银 | AgCl | 9.7°C | 0.37×10–10 | L |
氯化银 | AgCl | 25°C | 1.77×10–10 | C,L |
氯化银 | AgCl | 50°C | 13.2×10–10 | C,L |
氯化银 | AgCl | 100°C | 21.5×10–10 | C,L |
碘化银 | AgI | 13°C | 0.32×10–16 | C,L |
碘化银 | AgI | 25°C | 1.5×10–16 | C,L |
碘酸银 | AgIO3 | 9.4°C | 0.92×10–8 | C,L |
亚硝酸银 | AgNO2 | 25°C | 5.86×10–4 | L |
氢氧化银 | AgOH | 20°C | 1.52×10–8 | C,L |
硫氰化银 | AgSCN | 18°C | 0.49×10–12 | C,L |
硫氰化银 | AgSCN | 25°C | 1.16×10–12 | C,L |
无水氢氧化铝 | Al(OH)3 | 20°C | 1.9×10–33 | L |
无水氢氧化铝 | Al(OH)3 | 25°C | 3×10–34 | w1 |
三水合氢氧化铝 | Al(OH)3 | 20°C | 4×10–13 | C |
三水合氧化铝 | Al(OH)3 | 25°C | 3.7×10–13 | C |
磷酸铝 | AlPO4 | 25°C | 9.84×10–21 | w1 |
溴酸钡 | Ba(BrO3)2 | 25°C | 2.43×10–4 | w1 |
二水合碘酸钡 | Ba(IO3)2 | 25°C | 6.5×10–10 | C,L |
二水合草酸钡 | BaC2O4 | 18°C | 1.2×10–7 | C,L |
碳酸钡 | BaCO3 | 16°C | 7×10–9 | C,L |
碳酸钡 | BaCO3 | 25°C | 8.1×10–9 | C,L |
铬酸钡 | BaCrO4 | 28°C | 2.4×10–10 | C,L |
氟化钡 | BaF2 | 25.8°C | 1.73×10–6 | C,L |
硫酸钡 | BaSO4 | 18°C | 0.87×10–10 | C,L |
硫酸钡 | BaSO4 | 25°C | 1.08×10–10 | C,L |
硫酸钡 | BaSO4 | 50°C | 1.98×10–10 | C,L |
氢氧化铍 | Be(OH)2 | 25°C | 6.92×10–22 | w1 |
六水合碘酸钙 | Ca(IO3)2 | 18°C | 6.44×10–7 | L |
氢氧化钙 | Ca(OH)2 | 18°C-25°C | 8×10–6 | P |
氢氧化钙 | Ca(OH)2 | 25°C | 5.02×10–6 | w1 |
磷酸钙 | Ca3(PO4)2 | 25°C | 2.07×10–33 | w1 |
一水合草酸钙 | CaC2O4 | 18°C | 1.78×10–9 | C,L |
一水合草酸钙 | CaC2O4 | 25°C | 2.57×10–9 | C,L |
二水合酒石酸钙 | CaC4H4O6 | 18°C | 7.7×10–7 | C,L |
碳酸钙(方解石) | CaCO3 | 15°C | 0.99×10–8 | C,L |
碳酸钙(方解石) | CaCO3 | 25°C | 0.87×10–8 | C,L |
碳酸钙(方解石) | CaCO3 | 18-25°C | 4.8×10–9 | P |
铬酸钙 | CaCrO4 | 18°C | 2.3×10–2 | L |
氟化钙 | CaF2 | 18°C | 3.4×10–11 | C,L |
氟化钙 | CaF2 | 25°C | 3.95×10–11 | C,L |
硫酸钙 | CaSO4 | 10°C | 6.1×10–5 | C,L |
硫酸钙 | CaSO4 | 25°C | 4.93×10–5 | w1 |
氢氧化镉 | Cd(OH)2 | 25°C | 7.2×10–15 | w1 |
磷酸镉 | Cd3(PO4)2 | 25°C | 2.53×10–33 | w1 |
三水合草酸镉 | CdC2O4 | 18°C | 1.53×10–8 | C,L |
碳酸镉 | CdCO3 | 25°C | 1.0×10–12 | w1 |
硫化镉 | CdS | 18°C | 3.6×10–29 | C,L |
氢氧化钴 | Co(OH)2 | 25°C | 1.6×10–15 | w2 |
硫化钴 | CoS | 18°C | 3×10–26 | C,L |
硫化钴 | CoS | 18°C-25°C | 1×10–21 | P |
氢氧化亚铬 | Cr(OH)2 | 25°C | 2×10–16 | w2 |
氢氧化铬 | Cr(OH)3 | 25°C | 6.3×10–31 | w2 |
碘酸铜 | Cu(IO3)2 | 25°C | 1.4×10–7 | C,L |
氢氧化铜 | Cu(OH)2 | 18°C-25°C | 6×10–20 | P |
氢氧化铜 | Cu(OH)2 | 25°C | 4.8×10–20 | w1 |
硫化亚铜 | Cu2S | 16°C-18°C | 2×10–47 | C,L |
溴化亚铜 | CuBr | 18°C-20°C | 4.15×10–8 | C |
草酸铜 | CuC2O4 | 25°C | 2.87×10–8 | C,L |
碳酸铜 | CuCO3 | 25°C | 1×10–10 | P |
氯化亚铜 | CuCl | 18°C-20°C | 1.02×10–6 | C |
碘化亚铜 | CuI | 18°C-20°C | 5.06×10–12 | C |
氢氧化亚铜 | CuOH | 25°C | 2×10–15 | w1 |
硫化铜 | CuS | 18°C | 8.5×10–45 | C,L |
硫氰化亚铜 | CuSCN | 18°C | 1.64×10–11 | C,L |
氢氧化亚铁 | Fe(OH)2 | 18°C | 1.64×10–14 | C,L |
氢氧化亚铁 | Fe(OH)2 | 25°C | 1×10–15 | Pw2 |
氢氧化铁 | Fe(OH)3 | 18°C | 1.1×10–36 | C,L |
草酸亚铁 | FeC2O4 | 25°C | 2.1×10–7 | C,L |
碳酸亚铁 | FeCO3 | 18°C-25°C | 2×10–11 | P |
硫化亚铁 | FeS | 18°C | 3.7×10–19 | C,L |
氢氧化汞 | Hg(OH)2 | 25°C | 3.6×10–26 | w1 |
溴化亚汞 | Hg2Br2 | 25°C | 1.3×10–21 | C,L |
氯化亚汞 | Hg2Cl2 | 25°C | 2×10–18 | C,L |
碘化亚汞 | Hg2I2 | 25°C | 1.2×10–28 | C,L |
硫酸亚汞 | Hg2SO4 | 25°C | 6×10–7 | Pw1 |
溴化汞 | HgBr2 | 25°C | 8×10–20 | L |
氯化汞 | HgCl2 | 25°C | 2.6×10–15 | L |
碘化汞 | HgI2 | 25°C | 3.2×10–29 | L |
硫化汞 | HgS | 18°C | 4×10–53 | C,L |
高氯酸钾 | KClO4 | 25°C | 1.05×10–2 | w1 |
酒石酸氢钾 | KHC4H4O6 | 18°C | 3.8×10–4 | C,L |
高碘酸钾 | KIO4 | 25° | 3.71×10–4 | w1 |
碳酸锂 | Li2CO3 | 25°C | 1.7×10–3 | C,L |
磷酸锂 | Li3PO4 | 25° | 2.37×10–4 | w1 |
氟化锂 | LiF | 25°C | 1.84×10–3 | w1 |
氢氧化镁 | Mg(OH)2 | 18°C | 1.2×10–11 | C,L |
草酸镁 | MgC2O4 | 18°C | 8.57×10–5 | C,L |
碳酸镁 | MgCO3 | 12°C | 2.6×10–5 | C,L |
氟化镁 | MgF2 | 18°C | 7.1×10–9 | C,L |
氟化镁 | MgF2 | 25°C | 6.4×10–9 | C,L |
磷酸铵镁 | MgNH4PO4 | 25°C | 2.5×10–13 | C,L |
氢氧化锰 | Mn(OH)2 | 18°C | 4×10–14 | C,L |
碳酸锰 | MnCO3 | 18°C-25°C | 9×10–11 | P |
硫化锰(粉色) | MnS | 18°C | 1.4×10–15 | C,L |
硫化锰(绿色) | MnS | 25°C | 1×10–22 | P |
氢氧化镍 | Ni(OH)2 | 25°C | 5.48×10–16 | w1 |
硫化镍 | NiS | 18°C | 1.4×10–24 | C,L |
硫化镍 | NiS | 18°C-25°C | 1×10–27 | P |
硫化镍 | NiS | 18°C-25°C | 1×10–21 | P |
碘酸铅 | Pb(IO3)2 | 18°C | 1.2×10–13 | C,L |
碘酸铅 | Pb(IO3)2 | 25.8°C | 2.6×10–13 | C,L |
氢氧化铅 | Pb(OH)2 | 25°C | 1×10–16 | w1 |
溴化铅 | PbBr2 | 25°C | 6.3×10–6 | w1 |
草酸铅 | PbC2O4 | 18°C | 2.74×10–11 | C,L |
碳酸铅 | PbCO3 | 18°C | 3.3×10–14 | C,L |
氯化铅 | PbCl2 | 25.2°C | 1.0×10–4 | L |
氯化铅 | PbCl2 | 18°C-25°C | 1.7×10–5 | P |
铬酸铅 | PbCrO4 | 18°C | 1.77×10–14 | C,L |
氟化铅 | PbF2 | 18°C | 3.2×10–8 | C,L |
氟化铅 | PbF2 | 26.6°C | 3.7×10–8 | C,L |
碘化铅 | PbI2 | 15°C | 7.47×10–9 | C |
碘化铅 | PbI2 | 25°C | 1.39×10–8 | C |
硫化铅 | PbS | 18°C | 3.4×10–28 | C,L |
硫酸铅 | PbSO4 | 18°C | 1.6×10–8 | C,L |
氢氧化锡 | Sn(OH)2 | 18°C-25°C | 1×10–26 | P |
氢氧化锡 | Sn(OH)2 | 25°C | 5.45×10–27 | w1,w2 |
硫化锡 | SnS | 25°C | 1×10–28 | P |
草酸锶 | SrC2O4 | 18°C | 5.61×10–8 | C,L |
碳酸锶 | SrCO3 | 25°C | 1.6×10–9 | C,L |
铬酸锶 | SrCrO4 | 18°C-25°C | 3.6×10–5 | P |
氟化锶 | SrF2 | 18°C | 2.8×10–9 | C,L |
硫酸锶 | SrSO4 | 2.9°C | 2.77×10–7 | C,L |
硫酸锶 | SrSO4 | 17.4°C | 2.81×10–7 | C,L |
硫酸铊 | Tl2SO4 | 25°C | 3.6×10–4 | L |
溴化铊 | TlBr | 25°C | 4×10–6 | L |
氯化铊 | TlCl | 25°C | 2.65×10–4 | L |
硫氰化铊 | TlSCN | 25°C | 2.25×10–4 | L |
氢氧化锌 | Zn(OH)2 | 18°C-20°C | 1.8×10–14 | C,L |
二水合草酸锌 | ZnC2O4 | 18°C | 1.35×10–9 | C,L |
硫化锌 | ZnS | 18°C | 1.2×10–23 | C,L |
输入输出示例2
输入内容
碳正离子 氢负离子亲和能(kJ/mol)
1
c-C7H7<+> 841
(C6H5)3C<+> 900
H2N-CH2<+> 912
PhC(Me)2<+> 920
c-C3H3<+> 925
Ph2CH<+> 929
t-Bu<+> 967
PhCH2<+> 979
HO-CH2<+> 1017
i-Pr<+> 1030
s-Bu<+> 1033
c-C3H5-CH2<+> 1042
n-Bu<+> 1109
i-Bu<+> 1109
n-Pr<+> 1113
C2H5<+> 1142
C2H3<+> 1201
F-CH2<+> 1213
C6H5<+> 1247
CH3<+> 1306
烯丙基正离子 1072
环戊二烯基正离子 1080
炔丙基正离子 1130
#~https://wszqkzqk.github.io/img/%E8%B4%A8%E5%AD%90%E5%8C%96%E7%9A%84%E8%8B%AF.webp 887
#~https://wszqkzqk.github.io/img/%E4%B8%80%E4%B8%AA%E7%8E%AF%E4%B8%99%E5%9F%BA%E4%B8%8E%E4%B8%A4%E4%B8%AA%E7%94%B2%E5%9F%BA%E7%A8%B3%E5%AE%9A%E7%9A%84%E7%A2%B3%E6%AD%A3.webp 912
#~https://wszqkzqk.github.io/img/tBu-C(CH3)2+.webp 941
#~https://wszqkzqk.github.io/img/%E4%B8%80%E4%B8%AA%E7%83%AF%E5%9F%BA%E4%B8%8E%E4%B8%A4%E4%B8%AA%E7%94%B2%E5%9F%BA%E7%A8%B3%E5%AE%9A%E7%9A%84%E7%A2%B3%E6%AD%A3.webp 941
#~https://wszqkzqk.github.io/img/W%E7%83%AF%E7%A8%B3%E5%AE%9A%E7%9A%84%E7%A2%B3%E6%AD%A3.webp 941
#~https://wszqkzqk.github.io/img/%E4%B8%80%E4%B8%AA%E7%8E%AF%E4%B8%99%E5%9F%BA%E4%B8%8E%E4%B8%80%E4%B8%AA%E7%94%B2%E5%9F%BA%E7%A8%B3%E5%AE%9A%E7%9A%84%E7%A2%B3%E6%AD%A3.webp 962
#~https://wszqkzqk.github.io/img/2-%E9%99%8D%E5%86%B0%E7%89%87%E5%9F%BA%E6%AD%A3%E7%A6%BB%E5%AD%90.webp 967
#~https://wszqkzqk.github.io/img/%E4%B8%80%E4%B8%AA%E7%83%AF%E5%9F%BA%E4%B8%8E%E4%B8%80%E4%B8%AA%E7%94%B2%E5%9F%BA%E7%A8%B3%E5%AE%9A%E7%9A%84%E7%A2%B3%E6%AD%A3.webp 987
#~https://wszqkzqk.github.io/img/%E5%8F%89%E5%8F%89%E7%83%AF%E7%A2%B3%E6%AD%A3.webp 1038
#~https://wszqkzqk.github.io/img/%E7%94%B1%E7%94%B2%E5%9F%BA%E7%A8%B3%E5%AE%9A%E7%9A%84%E7%83%AF%E5%9F%BA%E7%A2%B3%E6%AD%A3%E7%A6%BB%E5%AD%90.webp 1079
2
输出代码
| 碳正离子 | 氢负离子亲和能(kJ/mol) |
| ---- | ---- |
| c-C<sub>7</sub>H<sub>7</sub><sup>+</sup> | 841 |
| [![](https://wszqkzqk.github.io/img/%E8%B4%A8%E5%AD%90%E5%8C%96%E7%9A%84%E8%8B%AF.webp)](https://wszqkzqk.github.io/img/%E8%B4%A8%E5%AD%90%E5%8C%96%E7%9A%84%E8%8B%AF.webp) |887 |
| (C<sub>6</sub>H<sub>5</sub>)<sub>3</sub>C<sup>+</sup> | 900 |
| H<sub>2</sub>N-CH<sub>2</sub><sup>+</sup> | 912 |
| [![](https://wszqkzqk.github.io/img/%E4%B8%80%E4%B8%AA%E7%8E%AF%E4%B8%99%E5%9F%BA%E4%B8%8E%E4%B8%A4%E4%B8%AA%E7%94%B2%E5%9F%BA%E7%A8%B3%E5%AE%9A%E7%9A%84%E7%A2%B3%E6%AD%A3.webp)](https://wszqkzqk.github.io/img/%E4%B8%80%E4%B8%AA%E7%8E%AF%E4%B8%99%E5%9F%BA%E4%B8%8E%E4%B8%A4%E4%B8%AA%E7%94%B2%E5%9F%BA%E7%A8%B3%E5%AE%9A%E7%9A%84%E7%A2%B3%E6%AD%A3.webp) |912 |
| PhC(Me)<sub>2</sub><sup>+</sup> | 920 |
| c-C<sub>3</sub>H<sub>3</sub><sup>+</sup> | 925 |
| Ph<sub>2</sub>CH<sup>+</sup> | 929 |
| [![](https://wszqkzqk.github.io/img/tBu-C(CH3)2+.webp)](https://wszqkzqk.github.io/img/tBu-C(CH3)2+.webp) |941 |
| [![](https://wszqkzqk.github.io/img/%E4%B8%80%E4%B8%AA%E7%83%AF%E5%9F%BA%E4%B8%8E%E4%B8%A4%E4%B8%AA%E7%94%B2%E5%9F%BA%E7%A8%B3%E5%AE%9A%E7%9A%84%E7%A2%B3%E6%AD%A3.webp)](https://wszqkzqk.github.io/img/%E4%B8%80%E4%B8%AA%E7%83%AF%E5%9F%BA%E4%B8%8E%E4%B8%A4%E4%B8%AA%E7%94%B2%E5%9F%BA%E7%A8%B3%E5%AE%9A%E7%9A%84%E7%A2%B3%E6%AD%A3.webp) |941 |
| [![](https://wszqkzqk.github.io/img/W%E7%83%AF%E7%A8%B3%E5%AE%9A%E7%9A%84%E7%A2%B3%E6%AD%A3.webp)](https://wszqkzqk.github.io/img/W%E7%83%AF%E7%A8%B3%E5%AE%9A%E7%9A%84%E7%A2%B3%E6%AD%A3.webp) |941 |
| [![](https://wszqkzqk.github.io/img/%E4%B8%80%E4%B8%AA%E7%8E%AF%E4%B8%99%E5%9F%BA%E4%B8%8E%E4%B8%80%E4%B8%AA%E7%94%B2%E5%9F%BA%E7%A8%B3%E5%AE%9A%E7%9A%84%E7%A2%B3%E6%AD%A3.webp)](https://wszqkzqk.github.io/img/%E4%B8%80%E4%B8%AA%E7%8E%AF%E4%B8%99%E5%9F%BA%E4%B8%8E%E4%B8%80%E4%B8%AA%E7%94%B2%E5%9F%BA%E7%A8%B3%E5%AE%9A%E7%9A%84%E7%A2%B3%E6%AD%A3.webp) |962 |
| t-Bu<sup>+</sup> | 967 |
| [![](https://wszqkzqk.github.io/img/2-%E9%99%8D%E5%86%B0%E7%89%87%E5%9F%BA%E6%AD%A3%E7%A6%BB%E5%AD%90.webp)](https://wszqkzqk.github.io/img/2-%E9%99%8D%E5%86%B0%E7%89%87%E5%9F%BA%E6%AD%A3%E7%A6%BB%E5%AD%90.webp) |967 |
| PhCH<sub>2</sub><sup>+</sup> | 979 |
| [![](https://wszqkzqk.github.io/img/%E4%B8%80%E4%B8%AA%E7%83%AF%E5%9F%BA%E4%B8%8E%E4%B8%80%E4%B8%AA%E7%94%B2%E5%9F%BA%E7%A8%B3%E5%AE%9A%E7%9A%84%E7%A2%B3%E6%AD%A3.webp)](https://wszqkzqk.github.io/img/%E4%B8%80%E4%B8%AA%E7%83%AF%E5%9F%BA%E4%B8%8E%E4%B8%80%E4%B8%AA%E7%94%B2%E5%9F%BA%E7%A8%B3%E5%AE%9A%E7%9A%84%E7%A2%B3%E6%AD%A3.webp) |987 |
| HO-CH<sub>2</sub><sup>+</sup> | 1017 |
| i-Pr<sup>+</sup> | 1030 |
| s-Bu<sup>+</sup> | 1033 |
| [![](https://wszqkzqk.github.io/img/%E5%8F%89%E5%8F%89%E7%83%AF%E7%A2%B3%E6%AD%A3.webp)](https://wszqkzqk.github.io/img/%E5%8F%89%E5%8F%89%E7%83%AF%E7%A2%B3%E6%AD%A3.webp) |1038 |
| c-C<sub>3</sub>H<sub>5</sub>-CH<sub>2</sub><sup>+</sup> | 1042 |
| 烯丙基正离子 | 1072 |
| [![](https://wszqkzqk.github.io/img/%E7%94%B1%E7%94%B2%E5%9F%BA%E7%A8%B3%E5%AE%9A%E7%9A%84%E7%83%AF%E5%9F%BA%E7%A2%B3%E6%AD%A3%E7%A6%BB%E5%AD%90.webp)](https://wszqkzqk.github.io/img/%E7%94%B1%E7%94%B2%E5%9F%BA%E7%A8%B3%E5%AE%9A%E7%9A%84%E7%83%AF%E5%9F%BA%E7%A2%B3%E6%AD%A3%E7%A6%BB%E5%AD%90.webp) |1079 |
| 环戊二烯基正离子 | 1080 |
| n-Bu<sup>+</sup> | 1109 |
| i-Bu<sup>+</sup> | 1109 |
| n-Pr<sup>+</sup> | 1113 |
| 炔丙基正离子 | 1130 |
| C<sub>2</sub>H<sub>5</sub><sup>+</sup> | 1142 |
| C<sub>2</sub>H<sub>3</sub><sup>+</sup> | 1201 |
| F-CH<sub>2</sub><sup>+</sup> | 1213 |
| C<sub>6</sub>H<sub>5</sub><sup>+</sup> | 1247 |
| CH<sub>3</sub><sup>+</sup> | 1306 |
呈现
图片插入格式生成器
这个程序的工作方式和表格生成器的pic()
函数差不多但是追加了一个图片地址插入功能,可以使点击图片时不跳转至图片本身的地址,而跳转到给定的网址,为了方便起见,该程序会自动将结果复制到剪贴板,这样就只需要在程序窗口中输入图片地址,再在需要的地方直接Ctrl + v
就可以插入了
由于用到了剪贴板相关的系统命令,这个程序的Windows版和Linux版显然不一样
Linux需要先安装xclip
这一软件包才能使用
现在的Windows默认集成了clip命令,不需要额外操作
由于我不用Mac也没有Mac,在这里就不管了~~~
代码
Linux版
#!/usr/bin/env python3
#需要先安装xclip软件包
import os
def clip(info):
print(info)
os.system('echo "' + info + '" |xclip -selection c ')
print('已复制到剪贴板!')
while 1:
print('请输入图片地址(默认在./img下,也可输入绝对网址或带有/img的完整地址):')
url = input()
imgname = url
if '://' not in url:
url = '/img/' + url
flag = 0
print('请输入点击图片的链接指向(默认为本身)')
goto = input()
if not goto:
goto = url
clip('[![#~{2}]({0})]({1})'.format(url, goto, imgname))
print()
Windows版
#!/usr/bin/env python3
import os
def clip(info):
print(info)
os.system('echo "' + info + '" | clip')
print('已复制到剪贴板!')
while 1:
print('请输入图片地址(默认在./img下,也可输入绝对网址或带有/img的完整地址):')
url = input()
imgname = url
if '://' not in url:
url = '/img/' + url
flag = 0
print('请输入点击图片的链接指向(默认为本身)')
goto = input()
if not goto:
goto = url
clip('[![#~{2}]({0})]({1})'.format(url, goto, imgname))
print()
网页链接插入器
图片插入器稍加修改就能得到网址插入器(网址插入器甚至实现更简单)
又是方便的结果复制到剪贴板~~~
代码
Linux版
#!/usr/bin/env python3
#需要先安装xclip软件包
import os
def clip(info):
print(info)
os.system('echo "' + info + '" |xclip -selection c ')
print('已复制到剪贴板!')
while 1:
print('请输入链接网址:')
url = input()
print('请输入显示文字(默认为网址本身):')
words = input()
if not words:
words = url
clip('[{0}]({1})'.format(words, url))
print()
Windows版
#!/usr/bin/env python3
import os
def clip(info):
print(info)
os.system('echo "' + info + '" | clip')
print('已复制到剪贴板!')
while 1:
print('请输入图片地址(默认在./img下,也可输入绝对网址或带有/img的完整地址):')
url = input()
if '://' not in url:
url = '/img/' + url
print('请输入点击图片的链接指向(默认为本身)')
goto = input()
if not goto:
goto = url
clip('[![]({0})]({1})'.format(url, goto))
print()
化学式处理器
这个其实就是把表格生成器中的化学式处理部分单独抽离出来,方便进行化学式插入的一个工具
这个程序同样会将结果复制到剪贴板
代码
Linux版
#!/usr/bin/env python3
import os
def clip(info):
print(info)
os.system('echo "' + info + '" |xclip -selection c ')
print('已复制到剪贴板!')
while 1:
print('请输入化学式(上标需要用"<>"框出):')
fml = input()
temp = ''
j = 0
while j < len(fml):
word = fml[j]
if '0' <= word <= '9':
temp += '<sub>' + word + '</sub>'
j += 1
elif word == '<':
temp += '<sup>'
j += 1
while fml[j] != '>':
temp += fml[j]
j += 1
else:
temp += '</sup>'
j += 1
else:
temp += word
j += 1
clip(temp)
print()
Windows版
#!/usr/bin/env python3
import os
def clip(info):
print(info)
os.system('echo "' + info + '" | clip')
print('已复制到剪贴板!')
while 1:
print('请输入化学式(上标需要用"<>"框出):')
fml = input()
temp = ''
j = 0
while j < len(fml):
word = fml[j]
if '0' <= word <= '9':
temp += '<sub>' + word + '</sub>'
j += 1
elif word == '<':
temp += '<sup>'
j += 1
while fml[j] != '>':
temp += fml[j]
j += 1
else:
temp += '</sup>'
j += 1
else:
temp += word
j += 1
clip(temp)
print()
引注文献插入器
除了这些常规插入以外,我某些转载Wikipedia的博客还需要在下方给出引注,这也可以用Python程序来生成引注格式简化操作
代码
#!/usr/bin/env python3
#将纯文本引注转化为markdown格式
tab = []
n = 0
print('直接复制粘贴引注即可,输入空行回车代表粘贴完毕')
info = input()
while info:
n += 1
tab.append('[^{}]: '.format(n) + info + '\n\n')
info = input()
with open("tmp.md", "w", encoding="utf-8") as initlize: #文件初始化
initlize.write('')
with open("tmp.md", "a", encoding="utf-8") as echo:
for i in tab:
echo.write(i)
print(i)
print('完成!输出文件见"tmp.md"')
引注文献插入器 2.0
这是前面的引注文献插入器升级版本,可以直接对markdown文件进行操作,并且可以将其中的非markdown脚注”[num]”替换为markdown脚注格式”[^num]”
输入内容为所需要操作的markdown文件的地址、引注的数及引注内容,但是引注必须要分行输入,且首、尾、中间均不得有空行
代码
#!/usr/bin/env python3
from sys import argv
if len(argv) > 2:
print('错误!仅支持一个参数!')
exit()
elif len(argv) == 2:
path = argv[1]
else:
print('请输入所操作的文件的地址:')
path = input()
if ((path[0] == "'") or (path[0] == '"')) and ((path[-1] == "'") or (path[-1] == '"')):
path = path[1:-1]
print('请输入总引注数(即原文最后的引注数):')
num = int(input())
print('若需要替换正文中的"[n]"为markdown引注形式"[^n]"请输入"1",否则请输入"0"(默认"1"),注意:如果文中有其他地方出现了"[n]"(如以"n"为图片名显示的图片)请不要使用这个功能:')
inner = input()
if inner != '0':
with open(path, "r", encoding="utf-8") as load:
content = load.read()
for i in range(1, num + 1):
content = content.replace('[{}]'.format(i), '[^{}]'.format(i))
with open(path, "w", encoding="utf-8") as rewt:
rewt.write(content)
print('请依次输入各个注释(应保证每个注释占一行,注意复制时首行不要留空):')
with open(path, "a", encoding="utf-8") as echo:
echo.write('\n')
for i in range(num):
ref = '[^{}]: '.format(i + 1) + input() + '\n\n'
echo.write(ref)
print()
print('完成!')
引注文献插入器 3.0
这是引注文献插入器再一次升级的版本,该程序按照Linux程序风格设计,支持程序 + [参数]
格式运行,避免了直接粘贴引注内容时容易出错的问题,同时,支持按照不同的参数进行不同的处理,可以直接将文件地址信息附在执行命令后,可以很方便地一键式操作
这一版本还加入了对-h
或--help
参数的支持,可以用来查看帮助信息
由于参数的灵活性,此程序依然可以不加参数的运行或只加部分参数的运行,具体参数用法如下(在本地将该程序的文件名命名为mdrefadd.py
):
mdrefadd.py 0 [待处理的.md文件的路径] [引注内容纯文本路径]
- 仅将引注内容按markdown语法添加到目标文件中
mdrefadd.py 1 [待处理的.md文件的路径] [引注内容纯文本路径]
- 将引注内容按markdown语法添加到目标文件中,并将目标文件中的
[num]
改为makdown引注[^num]
- 将引注内容按markdown语法添加到目标文件中,并将目标文件中的
mdrefadd.py [待处理的.md文件的路径] [引注内容纯文本路径]
- 将引注内容按markdown语法添加到目标文件中,并将目标文件中的
[num]
改为makdown引注[^num]
- 将引注内容按markdown语法添加到目标文件中,并将目标文件中的
mdrefadd.py [待处理的.md文件的路径]
- 处理目标文件,可在后续过程中自选处理内容(手动输入引注内容)
mdrefadd.py
- 在后续过程中自选目标文件和处理内容(手动输入引注内容)
mdrefadd.py --help
- 查看帮助
mdrefadd.py -h
- 查看帮助
注意:Windows操作系统需要按python mdrefadd.py [参数]
运行
与上一版本不同,对于给定了引注路径参数的操作,此程序可以自动排除空行并自动统计有效引注数,便利了许多
代码
#!/usr/bin/env python3
from sys import argv
def pathed(path):
if ((path[0] == "'") or (path[0] == '"')) and ((path[-1] == "'") or (path[-1] == '"')):
return path[1:-1]
else:
return path
loadtarget = 0
loadref = 0
loadinner = 0
if len(argv) == 1:
loadtarget = 1
loadref = 1
loadinner = 1
elif len(argv) == 2:
if (argv[1] == '-h') or (argv[1] == '--help'):
print('用法:')
print('1. mdrefadd.py 0 [待处理的.md文件的路径] [引注内容纯文本路径]')
print(' -- 仅将引注内容按markdown语法添加到目标文件中')
print('2. mdrefadd.py 1 [待处理的.md文件的路径] [引注内容纯文本路径]')
print(' -- 将引注内容按markdown语法添加到目标文件中,并将目标文件中的"[num]"改为makdown引注"[^num]"')
print('3. mdrefadd.py [待处理的.md文件的路径] [引注内容纯文本路径]')
print(' -- 将引注内容按markdown语法添加到目标文件中,并将目标文件中的"[num]"改为makdown引注"[^num]"')
print('4. mdrefadd.py [待处理的.md文件的路径]')
print(' -- 处理目标文件,可在后续过程中自选处理内容(手动输入引注内容)')
print('5. mdrefadd.py')
print(' -- 在后续过程中自选目标文件和处理内容(手动输入引注内容)')
print('6. mdrefadd.py --help')
print(' -- 查看帮助')
print('7. mdrefadd.py -h')
print(' -- 查看帮助')
print('注意:Windows操作系统需要执行"python mdrefadd.py [参数]"')
exit()
else:
path = pathed(argv[1])
loadref = 1
loadinner = 1
elif len(argv) == 3:
inner = '1'
path = pathed(argv[1])
refpath = pathed(argv[2])
elif len(argv) == 4:
inner = argv[1]
path = pathed(argv[2])
refpath = pathed(argv[3])
else:
print('错误!参数过多!')
exit()
if loadtarget:
print('请输入所操作的文件的路径:')
path = pathed(input())
if loadref:
print('请输入总引注数(即原文最后的引注数):')
num = int(input())
print('请依次输入各个引注的内容(应保证每个引注占一行,注意复制时首行不要留空):')
with open(path, "a", encoding="utf-8") as echo:
echo.write('\n')
for i in range(num):
ref = '[^{}]: '.format(i + 1) + input() + '\n\n'
echo.write(ref)
else:
with open(refpath, "r", encoding="utf-8") as load:
refs = load.readlines()
with open(path, "a", encoding="utf-8") as echo:
echo.write('\n')
i = 1
for info in refs:
if info and (not info.isspace()):
ref = '[^{0}]: {1}\n'.format(i, info)
i += 1
echo.write(ref)
num = i
if loadinner:
print('若需要替换文中的"[num]"为markdown引注形式"[^num]"请输入"1",否则请输入"0"(默认"1"),注意:如果文中有其他地方出现了"[num]"(如以数字为图片名显示的图片)请不要使用这个功能:')
inner = input()
if inner != '0':
with open(path, "r", encoding="utf-8") as load:
content = load.read()
for i in range(1, num + 1):
content = content.replace('[{}]'.format(i), '[^{}]'.format(i))
with open(path, "w", encoding="utf-8") as rewt:
rewt.write(content)
print('完成!')
图片插入工具 2.0
这也是一个Linux风格的程序,同样支持参数,用法如下:
mdimginsert.py [待处理的.md文件的路径]
- 将目标文件中所有以
#~
开头且以.png
,.jpg
,.jpeg
,.svg
,.gif
结尾的行表达为markdown图片格式(注意图片末不能有空格)
- 将目标文件中所有以
mdimginsert.py
- 输入目标文件路径,将其中以
#~
开头且以.png
,.jpg
,.jpeg
,.svg
,.gif
结尾的行表达为markdown图片格式(注意图片末不能有空格)
- 输入目标文件路径,将其中以
mdimginsert.py --help
- 查看帮助
mdimginsert.py -h
- 查看帮助
与第一版程序不同,这个版本是直接将指定的markdown文件内的所有图片对象(即以#~
开头,并以常用图片后缀名结尾的行)转化为markdown图片表达格式。由于可以直接批量转化,因此更加高效
代码
#!/usr/bin/env python3
from sys import argv
from fnmatch import fnmatch
def pathed(path):
if ((path[0] == "'") or (path[0] == '"')) and ((path[-1] == "'") or (path[-1] == '"')):
return path[1:-1]
else:
return path
if len(argv) == 2:
if (argv[1] == '--help') or (argv[1] == '-h'):
print('用法:')
print('1. mdimginsert.py [待处理的.md文件的路径]')
print(' -- 将目标文件中所有以"#~"开头且以".png", ".jpg", ".jpeg", ".svg", ".gif", ".ico", ".icon"结尾的行表达为markdown图片格式(注意图片末不能有空格)')
print('2. mdimginsert.py')
print(' -- 输入目标文件路径,将其中以"#~"开头"#~"且以".png", ".jpg", ".jpeg", ".svg", ".gif", ".ico", ".icon"结尾的行表达为markdown图片格式(注意图片末不能有空格)')
print('3. mdimginsert.py --help')
print(' -- 查看帮助')
print('4. mdimginsert.py -h')
print(' -- 查看帮助')
exit()
else:
path = pathed(argv[1])
elif len(argv) == 1:
print('请输入所需要操作的.md文件地址:')
path = pathed(input())
imgchara = ('.png', '.jpg', '.jpeg', '.svg', '.gif', '.ico', '.icon', '.PNG', '.JPG', '.JPEG', '.SVG', '.GIF', '.ICO', '.ICON')
with open(path, "r", encoding="utf-8") as load:
content = load.readlines()
output = []
for i in range(len(content)):
if fnmatch(content[i], '#~*'):
for imgfmt in imgchara:
if fnmatch(content[i], '*{}\n'.format(imgfmt)):
flag = 1
break
else:
flag = 0
else:
flag = 0
if flag:
imgname = content[i][2:-1]
if '://' in imgname:
content[i] = '[![#~{0}]({0})]({0})\n'.format(imgname)
else:
content[i] = '[![#~{0}](/img/{0})](/img/{0})\n'.format(imgname)
with open(path, "w", encoding="utf-8") as init:
init.write('')
with open(path, "a", encoding="utf-8") as echo:
for line in content:
echo.write(line)
print('完成!')
结束
有了这些工具,以后写博客肯定更加方便了~~~