atenxa.basis のソースコード

# -*- coding: utf-8 -*-
"""ATENXA基幹部分"""
import vrmapi

[ドキュメント]def printLOG(*objects, sep=' ', end=''): """すこし賢いログ出力 Python標準のprint()とほぼ同じ形式でVRMNXのスクリプトLOGに出力します。 objectsのすべてにstr()を引っかけて,sepで区切りながらつなげて出力します。 sep, endを設定する場合キーワード引数で設定してください。 スクリプトLOGではString型と表示されますが、objectsの実体とは無関係です。 そのかわり、任意の型のオブジェクトを与えれば、 TypeErrorとならずに、オブジェクトの ``__str__`` 属性を利用して 何らかの形で出力することができます。 Args: *objects: LOGに出したいオブジェクト。str()した上で出力します。 sep (str, optional): objectどうしの区切り。 end: 行末。 Return: str: ログへの出力内容。 Example: 出力するオブジェクトは複数並べることができます。:: >>> atenxa.printLOG(obj1, obj2, obj3) Note: vrmapi.LOG() が受け付けるのは、ただ一つの int, float, str オブジェクトに限定されています。 """ output = sep.join(map(str, objects)) + end vrmapi.LOG(output) return output
[ドキュメント]def pprintLOG(object): """書式化したログ出力 Pythonの構造的なデータを書式化して、'pretty-print'します。 リストや辞書を、見やすくきれいに出力できます。 Args: object: LOGに出したいオブジェクト。 Return: str: ログへの出力内容。 Example: センサーのイベントハンドラで、受け取った params(辞書)を表示。:: >>> def vrmevent_xx(obj,ev,param): ... if ev == 'catch': ... pprintLOG(param) [2020/9/21 1:18:58][6.820493ns : ID 0] : string : {'dir': 1, 'eventUID': 0, 'eventid': 8, 'eventtime': 6.8204931000000215, 'tire': 1, 'trainid': 18} """ from pprint import pformat output = pformat(object) printLOG("\n"+output) return output
[ドキュメント]class ATENXAError(Exception): """ATENXAシステムのエラー。""" pass