一个可以保存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支持种保存方式:
DatabaseBackend,即变量保存到数据库(默认)FileBackend,即变量以json形式保存到文件中
数据库后端
注意:需要先初始化数据库。
backend = reporter.DatabaseBackend('sqlite:////path/to/reporter.db')
backend.create_table()
- 在程序内部指定数据库连接
report = reporter.Report(
backend=reporter.DatabaseBackend('sqlite:////path/to/reporter.db')
)
- 通过环境变量指定数据库连接
export REPORTER_DB_URL = 'sqlite:////path/to/reporter.db'
report = reporter.Report()
- 使用默认数据库连接(即保存SQLite文件到当前目录)
report = reporter.Report()
文件后端
- 在程序内部指定保存地址
report = reporter.Report(backend=reporter.FileBackend('/path/to/reporter'))
报告以文件保存到/path/to/reporter/文件夹下,文件名为reporter-report-xxx.json。
- 通过环境变量指定保存地址
export REPORTER_DIR=/path/to/reporter
report = reporter.Report(backend=reporter.FileBackend())
报告以文件保存到/path/to/reporter/文件夹下,文件名为reporter-report-xxx.json。
- 使用默认目录(即当前目录)
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
查看哈希)
内置发行版
python_reporter-1.0.2-py3.7.egg
(8.3 kB
查看哈希)
关
python_reporter -1.0.2-py3.7.egg 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | abde5119b64e20d96983f2d3bca00ec5a49a80cf04fd69945ea20100ba4343d7 |
|
| MD5 | 1a120ba1de2e30ef3f84b8ec09a0775d |
|
| 布莱克2-256 | 92a1bb36b6f5e3ec3ea15e60f5d5c0d9e0ba6913e02b4ec36270d201bf2a364f |
关
python_reporter -1.0.2-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 0fd696d7a42b7a48a82eb6dc7d18c7a58eb756ec07ef7be2a7344942cb367707 |
|
| MD5 | 4f02132f1a1716edb4962d23cf8a0645 |
|
| 布莱克2-256 | e7aa9c6826e6b34c1f080155f02f7b3abd355fd005052e5f82af684db4dd3400 |