PyGraph7
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
ΠΠ΅Π±ΠΎΠ»ΡΡΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Graph7.
Π€ΠΎΡΠΌΠ°Ρ Graph7 Π±ΡΠ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Π°Π²ΡΠΎΡΠΎΠΌ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π³ΡΠ°ΡΠΎΠ² (ΡΠΎ Π΅ΡΡΡ ΠΈΡ ΠΌΠ°ΡΡΠΈΡ ΡΠΌΠ΅ΠΆΠ½ΠΎΡΡΠΈ) Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ ΠΎΠ±ΡΠ΅ΠΌΠΎΠΌ Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. Π ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π±ΡΠ»Π° ΠΎΡΠΈΠ΅Π½ΡΠ°ΡΠΈΡ Π½Π° ΡΠΆΠ΅ Π΄Π°Π²Π½ΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ Graph6. ΠΠ΄Π½Π°ΠΊΠΎ Ρ ΡΠΎΡΠΌΠ°ΡΠ° Graph6 Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ:
- ΠΌΠΎΠΆΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΏ Π³ΡΠ°ΡΠΎΠ²: ΠΏΡΠΎΡΡΡΠ΅ Π³ΡΠ°ΡΡ (Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΡΠΈΠΏΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΎΡΠΌΠ°ΡΡ);
- Ρ ΡΠ°Π½ΠΈΡΡΡ ΠΈΠ·Π±ΡΡΠΎΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π³ΡΠ°ΡΠ°Ρ , Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π³ΡΠ°ΡΠ°;
- Π½Π΅Π»ΡΠ·Ρ Ρ ΡΠ°Π½ΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ΅Π±ΡΠ°Ρ (Π²Π΅Ρ ΠΈ Ρ.ΠΏ.);
- Π΄Π»Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΠ½Π΅ΡΠΈΡΠ°Π΅ΠΌΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ.
Π ΡΠ²ΡΠ·ΠΈ Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠΌΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ°ΠΌΠΈ Π±ΡΠ»ΠΎ ΡΠ΅ΡΠ΅Π½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠΎΡΠΌΠ°Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π±Ρ ΠΈΠ·Π±Π°Π²ΠΈΠ» ΠΎΡ ΡΡΠΈΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠ².
ΠΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΡΠΎΡΠΌΠ°ΡΠ° Graph7, Π° Π² Π΅Π΅ ΠΎΡΠ½ΠΎΠ²Π΅ Π»Π΅ΠΆΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π‘ΠΈ, Π΄ΠΎΡΡΡΠΏΠ½Π°Ρ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ https://github.com/va-dudnikov/graph7.
ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΎΡΠΌΠ°ΡΠ° Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΠΏΠΎΠ·ΠΆΠ΅.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ΅ΡΠ΅Π· pip.
pip install pygraph7
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ΅ΡΠ΅Π· github.
git clone https://github.com/va-dudnikov/pygraph7
cd pygraph7
git submodule init
git submodule update
python setup.py install
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
import graph7 as g7
mat = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
encoded = g7.encode(mat) # ΠΠΎΠ΄ΠΈΡΡΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΡΡ ΠΊΠ°ΠΊ int
print(encoded)
print(g7.decode(encoded) == mat)
encoded = g7.encode(mat, "float") # ΠΠΎΠ΄ΠΈΡΡΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΡΡ ΠΊΠ°ΠΊ C-float
print(encoded)
print(g7.decode(encoded, "float") == mat)
encoded = g7.encode(mat, "double") # ΠΠΎΠ΄ΠΈΡΡΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΡΡ ΠΊΠ°ΠΊ C-double
print(encoded)
print(g7.decode(encoded, "double") == mat)
# ΠΡΠ²ΠΎΠ΄
# b'HAAQIDBAUGBwgJ'
# True
# b'HGAACAPwAAAEAAAEBAAACAQAAAoEAAAMBAAADgQAAAAEEAABBB'
# True
# b'HOAAAAAAAA8D8AAAAAAAAAQAAAAAAAAAhAAAAAAAAAEEAAAAAAAAAUQAAAAAAAABhAAAAAAAAAHEAAAAAAAAAgQAAAAAAAACJA'
# True
ΠΠΎΠ»ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ examples, ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.