Skip to main content

一个可以保存Python脚本中间任何结果的工具

项目描述

python-reporter:一个可以保存Python脚本中间任何结果的工具。

在执行执行脚本时,需要获取一个运行的程序中间的 Python 结果,而 xxx 时却没有什么好的办法。例如,在 xxx 程序中以计算中的热量,如果这个中只是暴露了一个中间脚本。如果在其他情况下地方需要这个中暴露,一种常见的问题是把这个中暴露的情况打印出来。但是这种方法无法解决python-reporter这个问题。

安装

pip install python-reporter

使用

读报告

import reporter


report_id = 'xxx'
report = reporter.Report(report_id)
report.foo  # 第一种方法
report.get('foo')  # 第二种方法
report.pop('foo')  # 第三种方法

保存报告

import reporter


report = reporter.Report()
report << ('foo', 'bar')  # 第一种方法
report + ('hello', 'world')  # 第二种方法
report.add('foobar', 'foobar')  # 第三种方法
report_id = report.save()

第一个、必须是一个元素列表,因此,第一个元素必须是2个元组,第一个元素是变量名称、第二个变量值的变量。顺序化的。

保存方式

reporter支持种保存方式:

  1. DatabaseBackend,即变量保存到数据库(默认)
  2. FileBackend,即变量以json形式保存到文件中

数据库后端

注意:需要先初始化数据库。

backend = reporter.DatabaseBackend('sqlite:////path/to/reporter.db')
backend.create_table()
  1. 在程序内部指定数据库连接
report = reporter.Report(
    backend=reporter.DatabaseBackend('sqlite:////path/to/reporter.db')
)
  1. 通过环境变量指定数据库连接
export REPORTER_DB_URL = 'sqlite:////path/to/reporter.db'
report = reporter.Report()
  1. 使用默认数据库连接(即保存SQLite文件到当前目录)
report = reporter.Report()

文件后端

  1. 在程序内部指定保存地址
report = reporter.Report(backend=reporter.FileBackend('/path/to/reporter'))

报告以文件保存到/path/to/reporter/文件夹下,文件名为reporter-report-xxx.json

  1. 通过环境变量指定保存地址
export REPORTER_DIR=/path/to/reporter
report = reporter.Report(backend=reporter.FileBackend())

报告以文件保存到/path/to/reporter/文件夹下,文件名为reporter-report-xxx.json

  1. 使用默认目录(即当前目录)
report = reporter.Report(backend=reporter.FileBackend())

报告以文件保存到当前目录下,文件名为reporter-report-xxx.json

如何自定义保存方式

reporter支持FileBackend,如果需要以其他方式保存,可以自定义Backend,继承自reporter.Backend,并且实现load(report_id)save(report_id, data)默认方法即可。

class MyBackend(reporter.Backend):
    def load(self, report_id):
        pass

    def save(self, report_id, data):
        pass


report = reporter.Report(backend=MyBackend())

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

python-reporter-1.0.2.tar.gz (5.4 kB 查看哈希

已上传 source

内置发行版

python_reporter-1.0.2-py3.7.egg (8.3 kB 查看哈希

已上传 1 0 2

python_reporter-1.0.2-py3-none-any.whl (5.6 kB 查看哈希

已上传 py3