小编zer*_*ool的帖子

如何保持传递给 jsonify() 函数的排序字典的顺序?

我正在尝试将排序的字典传递给 jsonify() 函数,然后在 JS 代码中使用它来取出值。我看到的是,即使我传递了正确的值,它们也会由于某种原因被 jsonify 重新排序。


json_data = {
    "11": {
        "j_id": "out",
    },
    "aa": {
        "j_id": "in",
    },
    "bb": {
        "j_id": "out",
    },
}

jkeys=json_data.keys()
sorted_json = sorted(jkeys, key=lambda x: json_data[x]['j_id'], reverse=False)

new_sorted=OrderedDict()
for rec in sorted_json:
    new_sorted[rec]=json_data[rec]

print('sort dict: {}'.format(new_sorted))
Run Code Online (Sandbox Code Playgroud)

输出是正确的,我可以看到正确的值,在我的情况下应该是:aa, 11, bb

>>> from collections import OrderedDict
>>>
>>> json_data = {
...     "11": {
...         "j_id": "out",
...     },
...     "aa": {
...         "j_id": "in",
...     },
...     "bb": {
...         "j_id": "out",
...     }, …
Run Code Online (Sandbox Code Playgroud)

python flask

21
推荐指数
3
解决办法
9166
查看次数

使用 nohup 时,ansible shell 不会创建 nohup.out

我编写了一个简单的任务来回显文本并将其包装在 nohup 命令周围。通常,当我执行nohup echo testnohup.out 时,会在同一工作目录中创建。当我从 ansible 执行此操作时,nohup.out 完全丢失

- name: nohup
  tags: nohup
  shell: 'nohup echo test'
  args:
    chdir: /tmp
    executable: /bin/bash
  async: 45
  poll: 0
Run Code Online (Sandbox Code Playgroud)

上面有什么问题吗?为什么 nohup.out 没有出现?

ansible

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

将非标准符号转换为列表

我有以下数据

15 0 42 50 "some text" "" 4 4 "text"
Run Code Online (Sandbox Code Playgroud)

我想将其转换为字典,为其指定某些名称:

{
    'data1': 15,
    'data2': 0,
    'data3': 42,
    'data4': 50,
    'data5': 'some text',
    'data6': '',
    'data7': 4,
    'data8': 4,
    'data9': 'text',
}
Run Code Online (Sandbox Code Playgroud)

我怎么能用Python做到这一点?请注意双引号,有时值为空("")但即使字段应存在于输出字典中.

python

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

标签 统计

python ×2

ansible ×1

flask ×1