Python メモ

Page content

Python でスクリプトを書いていたときのメモ。

markdown frontmatter

pip install  python-frontmatter
import frontmatter

    post = frontmatter.load(file)

assertion - unit test

unittest — Unit testing framework — Python 3.10.1 documentation

  • assertEqual(a, b)
  • assertNotEqual(a, b)
  • assertTrue(x)
  • assertFalse(x)
  • assertIs(a, b)
  • assertIsNot(a, b)
  • assertIsNone(x)
  • assertIsNotNone(x)
  • assertIn(a, b)
  • assertNotIn(a, b)
  • assertIsInstance(a, b)
  • assertNotIsInstance(a, b)

unit test ベース

from unittest import TestCase

class TestFoo(TestCase):
    def setUp(self) -> None:

    def tearDown(self) -> None:

    def test_function(self):

PyCharm でテストケースを作成する

いつものコマンド。 Ctrl + Shift + T

JSON パース

ref json — JSON エンコーダおよびデコーダ — Python 3.10.0b2 ドキュメント

import json

json_text = '{"x": 1, "y": 2, "z": 3}'
v = json.loads(json_text)
v['x']    # 1


with open(file, mode='r', encoding='utf-8') as content_file:
    content =


ref. 組み込み例外 — Python 3.10.0b2 ドキュメント

dict に指定したキーが存在するかを確認する

ref python - Check if a given key already exists in a dictionary - Stack Overflow

d = {"key1": 10, "key2": 23}

if "key1" in d:
    print("this will execute")

if "nonexistent key" in d:
    print("this will not")


if "keyX" not in d:
    print("this will not")


ref python - putting current class as return type annotation - Stack Overflow

AND 条件

cond_a and cond_b

dict をフィルターする

foodict = {k: v for k, v in mydict.items() if k.startswith('foo')}

ref. python - Filter dict to contain only certain keys? - Stack Overflow


def do(n_from=0, n_to=0):