Python 3.x print()在异常后延迟输出到控制台,打破了日志记录顺序
我有以下验证例程:Python 3.x print()在异常后延迟输出到控制台,打破了日志记录顺序,python-3.x,python-unittest,Python 3.x,Python Unittest,我有以下验证例程: def validate_schema(self, name, data, schema_filename): Logging.message("validating {0} against schema".format(name)) with open(schema_filename) as f: schema = json.load(f) resolver = jsonschema.RefResolver(
def validate_schema(self, name, data, schema_filename):
Logging.message("validating {0} against schema".format(name))
with open(schema_filename) as f:
schema = json.load(f)
resolver = jsonschema.RefResolver(
"file:///{0}/".format(os.path.abspath(schema_filename.rsplit('/', 1)[0])), schema
)
jsonschema.validate(data, schema, resolver=resolver)
Logging.ok()
类日志记录包含:
@staticmethod
def ok():
print("OK")
@staticmethod
def message(msg):
print("> " + msg, end='... ')
当模式验证失败时,我首先得到异常文本,然后验证。。。下面的消息
为什么会发生这种情况以及如何保持输出顺序?刷新stdout就可以做到这一点
@staticmethod
def message(text):
print("> " + text, end='... ')
sys.stdout.flush()