小编Ant*_*hon的帖子

以编程方式从JSF托管bean中注入EJB bean

我有EJB无状态bean.
如何通过programmatic而不是@EJB注释将它注入JSF托管bean?

jsf ejb code-injection managed-bean

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

Django 项目中的 SORL-thumbnail 导入错误

我已经通过pip. 当我尝试在 Python shell 中导入它时没问题,但是如果我将它添加到 INSTALLED_APPS 我得到:

导入错误(没有名为 SORL 的模块)

python django sorl-thumbnail

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

如何在python yaml文件中输出空白值

我正在写这样的yaml文件

with open(fname, "w") as f:
     yaml.safe_dump({'allow':'', 'deny': ''}, f,
                    default_flow_style=False, width=50, indent=4)
Run Code Online (Sandbox Code Playgroud)

输出:

allow: ''
Run Code Online (Sandbox Code Playgroud)

我想输出为

allow:
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

python yaml pyyaml

6
推荐指数
4
解决办法
1万
查看次数

创建虚拟设备出现错误“皮肤目录未指向有效皮肤”

我的 SDK 工具版本为 24.2,SDK 为 Android 4.4W.2 (API 20)。

我使用 Android Virtual Device (AVD) 来模拟 Android Wear 设备。但出现错误“皮肤目录未指向有效皮肤”

sdk android skin android-virtual-device

6
推荐指数
3
解决办法
5255
查看次数

加载 YAML 保留顺序

我有一个 Python 库,它定义了一个类似于下一个列表的列表:

config = [
    'task_a',
    ('task_b', {'task_b_opt_1': ' '}),
    ('task_a', {'task_a_opt_1': 42}),
    ('task_c', {'task_c_opt_1': 'foo', 'task_c_opt_2': 'bar'}),
    'task_b'
]
Run Code Online (Sandbox Code Playgroud)

基本上,此列表定义了 5 个必须按特定顺序应用并使用定义的参数(如果有)的任务。此外,同一任务可以定义或不定义参数(使用默认值)。

现在我想扩展库以支持配置文件。为了让最终用户更容易使用 YAML 文件,我正在考虑使用它们。所以上面的代码会变成这样:

task_a:
task_b:
  task_b_opt_1: ' '
task_a:
  task_a_opt_1: 42
task_c:
  task_c_opt_1': 'foo'
  task_c_opt_2': 'bar'
task_b:
Run Code Online (Sandbox Code Playgroud)

这甚至不是有效的 YAML 文件,因为某些键没有值。所以我有两个问题:

  1. 如何定义空任务?
  2. 在 Python 中加载文件时如何保留顺序?

如果这些都不可能,还有其他解决方案吗?

python yaml configuration-files

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

通过ruamel.yaml转储时如何在yaml文件中保留空值

我有YAML文件site.yaml

Kvm_BLOCK:
  ip_address: 10.X.X.X
  property: null
  server_type: zone
Run Code Online (Sandbox Code Playgroud)

加载然后转储为:

ruamel.yaml.dump(site_yaml, new_file, Dumper=ruamel.yaml.RoundTripDumper)
Run Code Online (Sandbox Code Playgroud)

它成为了

Kvm_BLOCK:
      ip_address: 10.X.X.X
      property: 
      server_type: zone
Run Code Online (Sandbox Code Playgroud)

如何null在属性块中保留此值

python yaml pyyaml ruamel.yaml

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

YAML中的变量重用,变量中的变量

我正在寻找一种方法来重用在YAML列表中定义的变量,我有一个包含以下示例条目的YAML列表:

workstreams:
  - name: tigers
    service_workstream: tigers-svc
    virtual_user:
      - {name: inbound-tigers, pass: '123', access: inbound, env: app1}
      - {name: outbound-tigers, pass: '123', access: outbound, env: app1}
    email: tigers@my-fqdn.com
    mount_dir: /mnt/tigers
    app_config_dir: /opt/tigers
Run Code Online (Sandbox Code Playgroud)

使用上面的示例,我想重用定义的值,例如tigers。理想的解决方案是这样的:

workstreams:
  - name: tigers
    service_workstream: "{{ vars['name'] }}-svc"
    virtual_user:
      - {name: "inbound-{{ vars['name'] }}", pass: '123', access: inbound, env: app1}
      - {name: "outbound-{{ vars['name'] }}", pass: '123', access: outbound, env: app1}
    email: "{{ vars['name'] }}@my-fqdn.com"
    mount_dir: "/mnt/{{ vars['name'] }}"
    app_config_dir: "/opt/{{ vars['name'] }}"
Run Code Online (Sandbox Code Playgroud)

关于如何在YAML中执行此操作有什么要点吗?

yaml

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

Python 从 YAML 解析类

我正在尝试输出然后从 YAML 解析回以下内容

import numpy as np
class MyClass(object):
    YAMLTag = '!MyClass'

    def __init__(self, name, times, zeros):
        self.name   = name
        self._T     = np.array(times)
        self._zeros = np.array(zeros)
Run Code Online (Sandbox Code Playgroud)

YAML 文件看起来像

!MyClass:
  name: InstanceId
  times: [0.0, 0.25, 0.5, 1.0, 2.0, 5.0, 10.0]
  zeros: [0.03, 0.03, 0.04, 0.03, 0.03, 0.02, 0.03]
Run Code Online (Sandbox Code Playgroud)

为了编写,我在类中添加了两个方法

def toDict(self):
    return {'name'  : self.name,
            'times' : [float(t) for t in self._T],
            'zeros' : [float(t) for t in self._zeros]}
@staticmethod
def ToYAML(dumper, data):
    return dumper.represent_dict({data.YAMLTag : data.toDict()})
Run Code Online (Sandbox Code Playgroud)

并阅读,方法

@staticmethod
def FromYAML(loader, …
Run Code Online (Sandbox Code Playgroud)

python yaml pyyaml python-2.7

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

yaml.load,强制字典键为字符串

在 Python3 中,我正在加载一段 YAML。加载程序尝试猜测正确的类型,但我不太满意。我希望字典键始终是字符串。

首先要演示一段简约的 YAML,可以轻松直接粘贴到 Python 解释器中。不用说,我的现实世界数据要复杂得多。

txt = """
---
one: 1
2: two
"""
Run Code Online (Sandbox Code Playgroud)

首先是“常规”负载:

yaml.load(txt)
{2: 'two', 'one': 1}
Run Code Online (Sandbox Code Playgroud)

请注意键2如何作为数字而不是字符串加载。然后让我们尝试一些不同的东西:

yaml.load(txt, Loader=yaml.BaseLoader)
{'2': 'two', 'one': '1'}
Run Code Online (Sandbox Code Playgroud)

现在一切都变成了字符串。不幸的是还有1,作为一个值,我需要作为一个数字。

因此,我可以将键和值都强制为字符串,也可以不将其强制为字符串。

我当然可以制作一个后处理器来遍历加载的数据并将其复制到一个新变量,并将 dict 键强制为字符串,但我想它可以在 YAML 加载器中做得更优雅。

建议?

python yaml python-3.x

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

Python YAML 到 JSON 到 YAML

我是 python 的新手,所以我正在构建一个简单的程序来将 YAML 解析为 JSON,并将 JSON 解析为 YAML。

yaml2json上一行YAML转换到JSON,但JSON验证说,这是正确的。

到目前为止,这是我的代码:

def parseyaml(inFileType, outFileType):
   infile = input('Please enter a {} filename to parse: '.format(inFileType))
   outfile = input('Please enter a {} filename to output: '.format(outFileType))

   with open(infile, 'r') as stream:
       try:
           datamap = yaml.safe_load(stream)
           with open(outfile, 'w') as output:
               json.dump(datamap, output)
       except yaml.YAMLError as exc:
           print(exc)

    print('Your file has been parsed.\n\n')


def parsejson(inFileType, outFileType):
   infile = input('Please enter a {} filename to parse: '.format(inFileType))
   outfile = input('Please enter a …
Run Code Online (Sandbox Code Playgroud)

python json yaml

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