小编ori*_*tvv的帖子

Python argparse dict arg

我想dict(str -> str)从命令行接收一个参数.不argparse.ArgumentParser提供呢?还是其他任何图书馆?

对于命令行:

program.py --dict d --key key1 --value val1 --key key2 --value val2
Run Code Online (Sandbox Code Playgroud)

我期待以下字典:

d = {"key1": "val1", "key2": "val2"}
Run Code Online (Sandbox Code Playgroud)

python dictionary argparse

17
推荐指数
4
解决办法
2万
查看次数

如何将自定义参数添加到Python日志格式化程序中?

我使用Flask框架的标准Python日志模块.我希望有一个日志文件,其中包含用户操作的所有记录,自定义参数 - %(用户名)s到logging.Formatter:

admin - 2013-10-11 15:11:47,033 action0
user1 - 2013-10-11 15:11:48,033 action1
user2 - 2013-10-11 15:11:49,033 action2
admin - 2013-10-11 15:11:50,033 action3
Run Code Online (Sandbox Code Playgroud)

我正在使用RotatingFileHandler:

def get_user_name():
    return session.get("username", "")

file_handler = RotatingFileHandler(fname, maxBytes=1 * 1024 * 1024, backupCount=5)
file_handler.setLevel(logging.DEBUG)
file_handler.setFormatter(logging.Formatter(
    '%(username)s - %(asctime)s %(levelname)-10s %(message)s  [in %(pathname)s:%(lineno)d]'
)) # how to insert get_user_name() instead %(username)s?

app.logger.addHandler(file_handler)
Run Code Online (Sandbox Code Playgroud)

做这种记录器的正确方法是什么?谢谢.

python logging flask

8
推荐指数
2
解决办法
8534
查看次数

Gitlab-ci:扩展脚本部分

我有一个统一的ci项目.gitlab-ci.yml包含.build一个script命令的基本作业。我也有多个指定的工作来构建扩展了基础的每个平台.build。我想为Android执行一些平台特定的命令,所以我创建了单独的job generate-android-apk。但是,如果失败了,管道也会失败。(我知道allow_failure)。是否可以script在作业之间扩展部分而无需复制粘贴?

continuous-integration yaml gitlab gitlab-ci

8
推荐指数
1
解决办法
2227
查看次数

在分配后,字典成为MongoEngine中的BaseList

我正在使用mongoengine 0.9.0

class EntityChange(Document):
    ...
    old_data = DictField()
    new_data = DictField()
Run Code Online (Sandbox Code Playgroud)

我想将dict对象保存到old_datanew_data.

为什么字段BaseList在转让后成为现实?

data = {u'int_id': 100500, u'_cls': 'BuildingKind', ...}
instance = EntityChange()
instance.new_data = data
# after that
# isinstance(instance, BaseList) is True
# isinstance(instance, BaseDict) is False
# instance.new_data == ['int_id', 'id', ...] is True. why?
Run Code Online (Sandbox Code Playgroud)

python dictionary mongoengine

5
推荐指数
1
解决办法
491
查看次数

用于会话的Pytest设置/拆卸挂钩

Pytest setup and teardowns钩子module, class, method.

我想在设置中(在测试会话开始之前)创建我的自定义测试环境,并在完成所有测试之后进行清理.换句话说,我怎么能使用钩子setup_session and teardown_session

python hook unit-testing pytest

2
推荐指数
1
解决办法
4296
查看次数