Python外部数据源文件处理课程贴(二)

excel

  • 写一个自动化测试的代码,步骤如下:
    1. 打开百度
    1. 输入搜索词
    1. 点击搜索
  • 将元素定位和输入的数据使用excel管理
import time

from selenium import webdriver
from openpyxl import load_workbook

class SeleniumPython:

    def __init__(self):
        ld = load_workbook("./selenium.xlsx")
        self.ws = ld.worksheets[0]

    def go_baidu(self):
        """
        1. 打开百度
        2. 输入搜索词
        3. 点击搜索
        将元素定位和输入的数据使用excel管理
        :retur        n:
        """
        # 实例化driver
        driver = webdriver.Chrome()
        driver.get("https://www.baidu.com/")
        time.sleep(2)
        driver.find_element_by_id(self.ws["A2"].value).send_keys(self.ws["B2"].value)
        driver.find_element_by_id(self.ws["A3"].value).click()
        time.sleep(15)

if __name__ == '__main__':
    sp = SeleniumPython()
    sp.go_baidu()

yaml

import yaml

纯量

int1: 1
float1: 12.30
bool1: true
bool2: false
none1: ~
time: 2020-05-10
n1: !!str 123
n2: !!str true

装饰器

  1. 函数调用
def foo():
    print("ffffff")
    return "aaa"
#不带括号的函数。调用的结果是返回一个函数对象,不需要等待该函数执行完成
foo
#带括号的函数,调用的结果是返回一个值,返回return的值,如果没有return则返回一个None。必须要等待函数执行完成
foo()

课间作业

  1. 使用yaml格式表达出来下面的python数据结构
data = {"a":{"b":{"x":[1,2,3]}}}

2.下面的yaml内容转化成一个python对象

companies:
    -
        id: 1
        name: company1
        price: 200W
    -
        id: 2
        name: company2
        price: 500W

课间作业

  1. 使用yaml格式表达出来下面的python数据结构
data = {"a":{"b":{"x":[1,2,3]}}}

答1:

a:
  b:
    x:
      - 1
      - 2
      - 3

2.下面的yaml内容转化成一个python对象

companies:
    -
        id: 1
        name: company1
        price: 200W
    -
        id: 2
        name: company2
        price: 500W

答2:

data='''
companies:
    -
        id: 1
        name: company1
        price: 200W
    -
        id: 2
        name: company2
        price: 500W
'''
print(yaml.safe_load(data))

image

  1. 使用yaml格式表达出来下面的python数据结构
a:
  b:
    x:
      - 1
      - 2
      - 3

2.下面的yaml内容转化成一个python对象

data = {'companies':[{'id':1,'name':'company1','price':'200w'},{'id':2,'name':'company2','price':'500w'}]}

课间作业

1.使用yaml格式表达出来下面的python数据结构

data:

a:
  b:
    x:
      - 1
      - 2
      - 3

2.下面的yaml内容转化成一个python对象

companies:
[{"id":1,"name":"company1","price":"200W"},{"id":2,"name":"company2","price":"500W"}]

1. 使用yaml格式表达出来下面的python数据结构

data = {"a":{"b":{"x":[1,2,3]}}}
a:
  b:
    x:
      - 1
      - 2
      - 3

2.下面的yaml内容转化成一个python对象

companies:
    -
        id: 1
        name: company1
        price: 200W
    -
        id: 2
        name: company2
        price: 500W
{'companies': [{'id': 1, 'name': 'company1', 'price': '200W'}, {'id': 2, 'name': 'company2', 'price': '500W'}]}

课间作业

作业1

a:
  b:
    x:
      - 1
      - 2
      - 3

作业2

{"companies":[{"id":1,"name":"company1","price":"200w"],[{"id":2,"name":"company2","price":"500w"}]}

1、使用yaml格式表达出来下面的python数据结构

data = {"a":{"b":{"x":[1,2,3]}}}
a:
  b:
    c:
      - 1
      - 2
      - 3

image

2、下面的yaml内容转化成一个python对象

companies:
    -
        id: 1
        name: company1
        price: 200W
    -
        id: 2
        name: company2
        price: 500W
print(yaml.safe_load(open("./demo2.yml")))

课间作业

1.使用yaml格式表达出来下面的python数据结构

yaml文件内容

a:
  b:
    x:
      - 1
      - 2
      - 3

代码

import yaml

# 1.使用yaml格式表达出来下面的python数据结构
data = {"a": {"b": {"x": [1, 2, 3]}}}
print(data)

info = yaml.safe_load(open("./data.yaml"))
print(info)

输出结果

{'a': {'b': {'x': [1, 2, 3]}}}
{'a': {'b': {'x': [1, 2, 3]}}}

2.下面的yaml内容转化成一个python对象

companies:
    -
        id: 1
        name: company1
        price: 200W
    -
        id: 2
        name: company2
        price: 500W

代码

data='''
companies:
    -
        id: 1
        name: company1
        price: 200W
    -
        id: 2
        name: company2
        price: 500W
'''

print(yaml.safe_load(data))

输出结果

{'companies': [{'id': 1, 'name': 'company1', 'price': '200W'}, {'id': 2, 'name': 'company2', 'price': '500W'}]}

补交一下课间作业:

# 使用yaml格式表达出来下面的python数据结构
a:
  b:
    x:
      - 1
      - 2
      - 3
# 下面的yaml内容转化成一个python对象
import yaml

print(yaml.safe_load("""companies:
-
    id: 1
    name: company1
    price: 200W
-
    id: 2
    name: company2
    price: 500W"""))
关闭