小编Hee*_*wal的帖子

在python中合并两个yaml文件

我有两个 yaml 文件,如下所述

test1.yaml

resources:
  server_group_1:
    type: OS::Nova::ServerGroup
    properties:
      name: { get_param: [server_groups, 5] }
      policies: [ { get_param: [server_group_types, 5] } ]

  server_group_2:
    type: OS::Nova::ServerGroup
    properties:
      name: { get_param: [server_groups, 8] }
      policies: [ { get_param: [server_group_types, 8] } ]
output:
  check_1:
    description: Name of the instance
    value: { get_attr: [check_1, vname] }
Run Code Online (Sandbox Code Playgroud)

test2.yaml

resources:
  server_group_4:
    type: OS::Nova::ServerGroup
    properties:
      name: { get_param: [server_groups, 4] }
      policies: [ { get_param: [server_group_types, 4] } ]

  server_group_9:
    type: OS::Nova::ServerGroup
    properties:
      name: { …
Run Code Online (Sandbox Code Playgroud)

python pyyaml ruamel.yaml

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

u-boot /lib/ld-linux-armhf.so.3: 没有那个文件或目录

我的机器 Ubuntu 16.04.3 LTS x86_64。我确实编译了 u-boot-2017.11,但出现错误。

u-boot-2017.11$ export ARCH=arm

u-boot-2017.11$ export CROSS_COMPILE=/opt/toolchains/gcc-linaro-4.9.4-2017.01-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-

u-boot-2017.11$ make geekbox_defconfig
  HOSTCC  scripts/basic/fixdep
/lib/ld-linux-armhf.so.3: No such file or directory
scripts/Makefile.host:99: recipe for target 'scripts/basic/fixdep' failed
make[1]: *** [scripts/basic/fixdep] Error 255
Makefile:399: recipe for target 'scripts_basic' failed
make: *** [scripts_basic] Error 2
Run Code Online (Sandbox Code Playgroud)

我尝试查找并安装丢失的软件包,但已全部安装完毕。

u-boot-2017.11$ dpkg -S ld-linux-armhf.so
libc6-armhf-cross: /usr/arm-linux-gnueabihf/lib/ld-linux-armhf.so.3

u-boot-2017.11$ sudo apt-get install libc6-armhf-cross
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libc6-armhf-cross is already the newest version (2.23-0ubuntu3cross1).
0 upgraded, 0 newly installed, …
Run Code Online (Sandbox Code Playgroud)

ubuntu libc u-boot ubuntu-16.04

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

在 bash 中使用 xargs 进行并行处理

我有一个小脚本,我可以在其中获取每个 openstack 的租户,并在 python 的帮助下获取一些输出。生成报告的时间太长,我被建议使用xargs. 我之前的代码如下所示。

#!/bin/bash
cd /scripts/cloud01/floating_list

rm -rf ./reports/openstack_reports/
mkdir -p ./reports/openstack_reports/

source ../creds/base
for tenant in A B C D E F G H I J K L M N O P Q R S T
do
  source ../creds/$tenant
  python ../tools/openstack_resource_list.py > ./reports/openstack_reports/$tenant.html

done
lftp -f ./lftp_script
Run Code Online (Sandbox Code Playgroud)

现在我已经将 xargs 放入脚本中,脚本看起来像这样。

#!/bin/bash
cd /scripts/cloud01/floating_list

rm -rf ./reports/openstack_reports/
mkdir -p ./reports/openstack_reports/

source ../creds/base

# Need xargs idea below
cat tenants_list.txt | xargs -P 8 -I '{}' …
Run Code Online (Sandbox Code Playgroud)

python bash xargs openstack

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

转换 pandas 中列的值

我有以下格式的 csv

Used CPU    Used Memory Hard CPU    Hard Memory
    1       4Gi         50          24Gi
    0       0           0           0
    2       4Gi         4           8Gi
    2       4Gi         4           8Gi
    0       0           100m        128Mi
    51550m  39528Mi     56          47Gi
Run Code Online (Sandbox Code Playgroud)

它们是字符串值。在此表中,51550m 表示毫核心,我需要将其转换为核心。39528Mi 是 Mebibyte,我需要将其转换为 gibibyte(左右)。我想知道如何逐列读取每个值,如果找到m (如 51550m),请将其转换为核心。然后将列的所有值转换为整数,以便我可以将它们全部相加。

我想使用 pandas,但我对它很陌生。我知道我可以尝试df["col_name"].astype("int")转换为整数,但我还需要解释毫核值来转换它们。

任何帮助深表感谢。

预期输出:所有值都必须是浮点型。我从转换中得到了下面的结果

100 millicore = 1/10 cores
1 Mebibyte = 0.00104858 GB


  Used CPU  Used Memory Hard CPU    Hard Memory
        1       4.296       50          25.7698 
        2       4.296       4           8.592
        2       4.296       4           8.592
        0       0 …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

从queryset获取字典

我在下面的查询中要提取“ specs”的地方,这是一本字典,但是envi_dict的类型是Queryset类。如何从该查询集中获取字典?任何帮助深表感谢。

envi_dict = Environment.objects.values('specs')
Run Code Online (Sandbox Code Playgroud)

结果

<QuerySet [({u'CPU Model': u'Dell', u'RAM': 1000, u'CPU': 400},), ({u'CPU Model': u'Dell', u'RAM': 1000, u'CPU': 400},)]>, <class 'django.db.models.query.QuerySet'>, )
Run Code Online (Sandbox Code Playgroud)

我尝试了Environment.objects.filter(title=item.title).values('specs')Environment.objects.get('specs')但是我仍然得到一个查询集。

编辑:下面是 models.py

class CommonModel(models.Model):

    author = models.ForeignKey('auth.User',)
    title = models.CharField(max_length=400)
    comments = models.TextField(blank=True)
    requirements = JSONField(default = {})
    specs = JSONField(default= {})
    created_date = models.DateTimeField(default=timezone.now)
    updated_date = models.DateTimeField(blank=True, null=True)

    class Meta:
       abstract = True

    def update(self):
        self.updated_date = timezone.now()
        self.save()

    def __str__(self):
        return self.title

class Estimate(CommonModel):

    gp_code = models.TextField(default='Unknown')
    inputs = …
Run Code Online (Sandbox Code Playgroud)

django django-queryset

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