• globals()函数,实现将参数设置为系统的全局变量


    
    import unittest
    import requests
    
    
    
    class TestA(unittest.TestCase):
        def setUp(self):
            self.s = requests.session()
    
        def tearDown(self):
            print('结束')
            
        def test_a(self):
            '''用例a'''
            globals()["a"] = "aaaaaa"    # 用例a的返回值
    
            # 返回值先给全部办理,存到字典对应key
            print('你的值是什么', globals().keys())
            # 你的值是什么 dict_keys(['__name__', '__doc__', '__package__', '__loader__', '__spec__', '__file__', '__cached__', '__builtins__', 'unittest',                         'requests','TestA', 'a']) 可以注意到 a 已经存到了global()函数的字典中去了,如果要在下个接口使用的话,直接global().get('a')就可以取到值,至于拿到值以后在下个接口里面怎么传,
    就要看下个接口的参数都有什么了,视情况而定
    
            print('你的值是什么', globals().values())
            self.assertEqual(globals()["a"], "aaaaaa")
    
        def test_b(self):
            '''用例b'''
    
            # 在用例test_a中全局变量参数global(),通过globals().keys()查看到已经把字典{'a':'aaaaaa'}
            # 的值保存到了全局变量内部,并且在用例test_b中可以使用globals().get('a') 获取到对应的value
            # 然后把value值通过一个参数使用到用例test_b中。
            # 这样就实现了,上个接口返回参数,下个接口进行调用
    
            b = globals().get('a')  # 引用用例a的返回值
            print("用例b引用用例a的返回值:%s"%b)
            result_b = b+"111"
            self.assertEqual(result_b, "aaaaaa111")
    
    if __name__ == '__main__':
        unittest.main()
    
    
    
    
    
    
    # Global.py文件
    验证一下global()函数的类型和里面的值
    dic = 'name'
    
    globals()[dic] = 'luzhaoshan'
    
    print(globals())
    print(globals().keys())
    print(globals().values())
    
    下面是打印结果*****************************
    {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x000000000214C2B0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'E:/PythonProject/202011月份复习/字典取值.py', '__cached__': None, 'dic': 'name', 'name': 'luzhaoshan'}
    dict_keys(['__name__', '__doc__', '__package__', '__loader__', '__spec__', '__annotations__', '__builtins__', '__file__', '__cached__', 'dic', 'name'])
    dict_values(['__main__', None, None, <_frozen_importlib_external.SourceFileLoader object at 0x000000000214C2B0>, None, {}, <module 'builtins' (built-in)>, 'E:/PythonProject/202011月份复习/字典取值.py', None, 'name', 'luzhaoshan'])
    
    
    
    
    
    
    
    
  • 相关阅读:
    10: Django + Uwsgi + Nginx 的生产环境部署
    04:应用管理
    发送消息的时候,会指定用户,其实还可以定义媒介为脚本,让用户执行这个脚本
    解决zabbix使用中文是出现乱码的问题
    inotify 工具 是一种强大的、细粒度的、异步文件系统监控机制
    rsync 远程同步工具
    vsftpd:非常安全的ftp服务端程序
    Varnish是一款高性能的开源HTTP加速器
    keepalived 高可用(IP飘移)
    dns域名解析
  • 原文地址:https://www.cnblogs.com/ludundun/p/14052162.html
Copyright © 2020-2023  润新知