小弟遇到个 Python 里边的数据转换问题,有大佬帮忙解答一下吗?

2020-06-30 23:22:31 +08:00
 css3
# case.yaml
test_datas:

  - "输入正确的用户名 1"
  - username: test1
    password: 123456
  - expect_msg: success


  - "输入错误的用户名"
  - username: test2
    password: 123456
  - expect_msg: failed


  - "输入正确的用户名 2"
  - username: test3
    password: 123456
  - expect_msg: success


test_datas = [
    ("输入正确的用户名 1", {"username": "test1", "password": "123456"}, {"expect_msg": "success"}),
    ("输入错误的用户名", {"username": "test2", "password": "123456"}, {"expect_msg": "failed"}),
    ("输入正确的用户名 2", {"username": "test3", "password": "123456"}, {"expect_msg": "success"}),
]
import yaml


def load_yaml(file_path):
    with open(file_path, encoding='utf-8') as f:
        data = yaml.safe_load(f)
    return data # 这里实在不知道怎么处理了😭,求大佬帮忙


if __name__ == '__main__':
	load_yaml("case.yaml")
1595 次点击
所在节点    程序员
3 条回复
QingchuanZhang
2020-06-30 23:41:20 +08:00
```python3
def load_yaml(file_path):
with open(file_path, encoding='utf-8') as f:
data = yaml.safe_load(f)
record_len = 3

for records in data.values():
res = []
for i in range(0, len(records), record_len):
res.append(tuple(records[i:i + record_len]))
return res
```
QingchuanZhang
2020-06-30 23:43:14 +08:00
Cy86
2020-07-01 03:12:47 +08:00
test_datas:
-
- "输入正确的用户名 1"
- username: test1
password: 123456
- expect_msg: success
-
- "输入错误的用户名"
- username: test2
password: 123456
- expect_msg: failed
-
- "输入正确的用户名 2"
- username: test3
password: 123456
- expect_msg: success

我改成这样输出比较接近你要的格式, 但需要修改 YAML 格式

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/686082

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX