小编Ton*_*res的帖子

如何使用 Pyyaml 在序列之间添加换行符?

我已经搜索过,但没有找到太多这方面的信息。我正在编写一个 Python 脚本来获取字典列表并将其转储到 yaml 文件中。例如,我有如下代码:

import yaml

dict_1 = {'name'  : 'name1',
          'value' : 12,
          'list'  : [1, 2, 3],
          'type'  : 'doc'
}

dict_2 = {'name'  : 'name2',
          'value' : 100,
          'list'  : [1, 2, 3],
          'type'  : 'cpp'
}

file_info = [dict_1, dict_2]

with open('test_file.yaml', 'w+') as f:
    yaml.dump(file_info, f)
Run Code Online (Sandbox Code Playgroud)

我得到的输出是:

- list:
  - 1
  - 2
  - 3
  name: name1
  type: doc
  value: 12
- list:
  - 1
  - 2
  - 3
  name: name2
  type: cpp
  value: …
Run Code Online (Sandbox Code Playgroud)

python dictionary yaml pyyaml python-3.x

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

Pythonic 函数重载?

我无法理解干净的方法来做到这一点。我想要一个名为set_delay()带有各种参数的函数。我可以设置 3 种不同的“延迟类型”:恒定、均匀和正常。这是我目前拥有的:

def set_delay_constant(delay):
    continue

def set_delay_uniform(min_delay, max_delay):
    continue

def set_delay_normal(mean, std_dev, timeout):
    continue
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是每个函数中大约 80% 的代码是重复的。我见过的想法是:

def set_delay(delay_type, delay=None, min_delay=None, max_delay=None, mean=None, std_dev=None, timeout=None):
    continue
Run Code Online (Sandbox Code Playgroud)

但是当我需要用更多的延迟类型来扩展它时,我可以看到它变得非常长并且难以阅读。最“Pythonic”的方法是什么?谢谢你!

python overloading function python-3.x

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

标签 统计

python ×2

python-3.x ×2

dictionary ×1

function ×1

overloading ×1

pyyaml ×1

yaml ×1