- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Python基础之常用库常用方法整理由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
1
2
3
4
5
6
7
8
|
__file__
获取当前运行的.py文件所在的路径(D:\PycharmProjects\My_WEB_UI\ConfigFiles\ConfigPath.py)
os.path.dirname(__file__)
上面正在运行的.py文件的上一级(D:\PycharmProjects\My_WEB_UI\ConfigFiles)
os.path.join(xxx,u
'ConfigFiles\elementLocation.ini'
)
在已获得的路径xxx上加上\ConfigFiles\elementLocation.ini
|
1
2
3
4
5
6
7
8
9
10
11
|
config
=
configparser.ConfigParser()
创建一个configparser对象
config.read(filename)
读取ini文件,filename为ini文件的路径
config.sections()
得到ini文件内的所有的section,以列表的形式返回
config.items(sectionName)
根据section的name得到其下的所有键值对,再用
dict
(config.items(sectionName))封装为字典形式
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
wb
=
load_workbook(
'a.xlsx'
)
读取文件a.xlsx
sheet
=
wb[sheetname]
根据名字拿到xlsx文件里对应的页
sheet.max_row
获取当前页的最大行数
sheet.max_column
获取当前页的最大列数
sheet.cell(row
=
xxx,column
=
xxx).value
获取单元格(xxx,xxx)中的值
sheet.cell(row
=
xxx,column
=
xxx).value
=
aa
#修改单元格里的值
wb.save(a.xlsx的路径名)
#修改完要保存一下,否则修改不生效
|
openpyxl库中没有方法来获取去某一行的值,可以自定义
1
2
3
4
|
row_data
=
[]
for
i
in
range
(
1
,sheet.max_column
+
1
):
#注意遍历列的时候从1开始
cell_value
=
sheet.cell(row
=
xxx,column
=
i).value
#xxx就为具体想要获取的行
row_data.append(cell_value)
|
1
2
3
4
5
6
|
logger.debug(
'this is a debug message'
)
logger.info(
'this is a info message'
)
logger.warning(
'this is a warning message'
)
logger.error(
'this is a error message'
)
logger.success(
'this is a success message'
)
logger.critical(
'this is a critical message'
)
|
1
2
3
4
5
6
7
8
|
logger.add(
'xxx.log'
)
在当前同级目录下创建一个xxx.log文件,并将接下来的日志打印到xxx.log里面
logger.add(
'lowPath/xxx.log'
)
在当前目录下创建一个文件夹lowPath,在其中创建xxx.log文件
logger.add(otherPath
+
'/xxx.log'
)
事先获取其他的目录otherPath,在otherPath下创建xxx.log
|
1
2
3
4
5
|
time.sleep(
2
)
强制休眠两秒
time.strftime(
'%Y-%m-%d_%H-%M-%S'
)
接受当前时间元组,并最终返回对应格式的字符串
|
基本概念: testcase 测试用例,以test开头,执行顺序会按照方法名的ASCII码值来排序 test suite 测试套件,testloader把需要一起执行的测试用例加载到套件中,然后一起执行 test runner 执行测试用例并返回测试结果 test fixture 测试固件,对一个测试用例环境的搭建和销毁 。
常见断言: assertEqual(a,b,msg=None) 判断a和b是否相等 assertNotEqual assertTrue(a) 判断a是否为True assertFalse assertIs(a,b) 判断a is b assertIsNot assertIsNone(a) 判断a is None assertIsNotNone assertIn(a,b) 判断a in b assertNotIn assertIsInstance(a,b) 判断a是不是b的实例 assertIsNotInstance 断言失败会报AssertionError的错 。
编写测试用例 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
class
TestDemo(unittest.TestCase):
继承unittest模块里的TestCase
def
setUp(
self
)
准备环境,执行测试用例的前置条件
def
tearDown(
self
)
环境还原,执行测试用例的后置条件
def
test_01(
self
)
测试用例
1
if
__name__
=
=
'__main__'
:
unittest.main()
执行当前文件以test开头的测试用例
########################################以下是实例##############################################
import
time
import
unittest
from
selenium
import
webdriver
from
Modules.LoginAction
import
LoginAction
class
Login_test(unittest.TestCase):
def
setUp(
self
):
'''
准备好环境,执行测试用例的前置条件
:return:
'''
self
.driver
=
webdriver.Chrome()
self
.driver.get(
'https://mail.163.com/'
)
self
.driver.maximize_window()
def
tearDown(
self
):
time.sleep(
2
)
self
.driver.quit()
def
test_01(
self
):
loginAction
=
LoginAction()
loginAction.do_login(
self
.driver,
'lsqtester001'
,
'qwer123'
)
time.sleep(
2
)
self
.assertIn(
'lsqtester002'
,
self
.driver.page_source)
if
__name__
=
=
'__main__'
:
unittest.main()
|
组织测试用例 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
suit
=
unittest.TestSuite()
定义一个测试套件
suit.addTest(Login_test(
'test_01'
))
向套件中添加测试用例
runner
=
unittest.TextTestRunner()
runner.run(suit)
定义testrunner并执行已加入测试套件的测试用例
loader
=
unittest.TestLoader()
定义一个testloader对象
suit.addTest(loader.discover(TestcasesPath,pattern
=
'Unittest*.py'
))
根据条件将测试用例加载到套件中
########################################以下是实例##############################################
import
unittest
from
ConfigFiles.ConfigPath
import
TestcasesPath
from
TestCases.Unittest_login
import
Login_test
if
__name__
=
=
'__main__'
:
# suit = unittest.TestSuite()
# #向套件中添加测试用例
# suit.addTest(Login_test('test_01'))
# suit.addTest(Login_test('test_02'))
#
# runner = unittest.TextTestRunner()
# runner.run(suit)
'''
用discover来组织测试用例
discover(dir,pattern='Unittest*.py',top_level_dir=None)
dir就是存放写用例的python文件的具体路径
pattern就是在目录dir下找形式如同Unittest*.py这样的文件
如果符合条件的.py文件里有load_test这个函数的话,就会加载该文件里的测试用例
如果不存在load_test函数的话,就会默认加载文件里以test开头的测试用例函数
'''
suit
=
unittest.TestSuite()
loader
=
unittest.TestLoader()
suit.addTest(loader.discover(TestcasesPath,pattern
=
'Unittest*.py'
))
runner
=
unittest.TextTestRunner()
runner.run(suit)
|
到此这篇关于Python基础之常用库常用方法整理的文章就介绍到这了,更多相关Python常用库常用方法整理内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。
原文链接:https://blog.csdn.net/qq_38175040/article/details/116125998 。
最后此篇关于Python基础之常用库常用方法整理的文章就讲到这里了,如果你想了解更多关于Python基础之常用库常用方法整理的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
当我创建一个数据库时,我被要求选择默认排序规则,当我创建一个表时,我被要求选择排序规则。 utf8_general_ci 或...拉丁...?区分哪个是对的依据是什么? 最佳答案 A collatio
PHP不会检查单引号 '' 字符串中变量内插或(几乎)任何转义序列,所以采用单引号这种方式来定义字符串相当简单快捷。但是,双引号 "" 则不然,php会检查字符串中的变量或者转义
正则(regular),要使用正则表达式需要导入Python中的re(regular正则的缩写)模块。正则表达式是对字符串的处理,我们知道,字符串中有时候包含很多我们想要提取的信息,掌握这些处理字符
在开发过程中,有时需要对用户输入的类型做判断,最常见是在注册页面即用户名和密码,代码整理如下: 只能为中文 ?
]js正则表达式基本语法(精粹): http://www.zzvips.com/article/94068.html 许多语言,包括P
1、首先安装mongodb 1.下载地址:http://www.mongodb.org/downloads 2.解压缩到自己想要安装的目录,比如d:\mongodb 3.创建文件夹d:\mo
我更愿意在 R 中执行以下操作,但我愿意接受(易于学习的)其他解决方案。 我有多个(比如说 99 个)制表符分隔文件(我们称它们为 S1.txt 到 S99.txt)和表格,所有文件都具有完全相同的格
我制作了一个小程序,可以使用数学进行物理计算。 我有几个 if 语句,它们做同样的事情,但变量不同,但它们必须是它们,就好像 TextBox 是空的,int 将是 0。 例子如下: if (first
我正在构建需要扩展框的东西 - 这很好,我可以正常工作。然而,如果你看看这个FIDDLE你会看到它有点乱。我希望有一种方法可以扩展它们所在的盒子,这样它们就不会跳来跳去?那么盒子 3 的左侧会比右侧膨
我相当确定(在 MATLAB 中)应该有一个优雅的解决方案,但我现在想不起来。 我有一个包含 [classIndex, start, end] 的列表,我想将连续的类索引折叠成一个组,如下所示: 这个
维基百科将 XMPP 定义为: ...an open-standard communications protocol for message-oriented middleware based on
我的代码库已经进入了某种状态,希望能够摆脱它 repo 看起来有点像这样(A1、B1、C1 等显然是提交) A1 ---- A2 ---- A3 ---- A4 -
如何整理以下数据框 data.frame(a = c(1,2), values = c("[1.1, 1.2, 1.3]", "[2.1, 2.2]")) a values 1
所以我试图在 Haskell 中生成出租车号码列表。出租车号码是可以用两种不同方式写成两个不同立方体之和的数字 - 最小的是 1729 = 1^3 + 12^3 = 9^3 + 10^3 . 现在,我
我正在使用 roxygen2 来记录我正在开发的包的数据集。我知道你可以 use roxygen to document a dataset ,但是Shane's answer最终建议进行黑客攻击,虽
这个问题在这里已经有了答案: How can I combine two strings together in PHP? (19 个回答) 关闭 5 年前。 提前致歉,尽管我已经尝试并失败了几件不
我有一个大部分整洁的数据框,但有 2 列包含基准,而不是将基准合并为观察结果。我该如何整理,以便将“Facility_score”和“TTP”col_names 添加为每个独特的 FYQ 和 Metr
我有以下输入数据。每一行都是一个实验的结果: instance algo profit time x A 10 0.5 y A
我已经使用 PHP 和 MySQL 实现了搜索。目前我的表格整理是 "utf8_unicode_ci"。问题是,使用此排序规则 "ä"= "a" 是。如果我将排序规则更改为 "utf_bin" 一切正
所以我是 JS 和 Jquery 库的新手。我一直在玩弄一些东西,可以看到它非常不整洁,这就是我希望你们能帮助建议一种更好的方法来实现我想要实现的目标的地方。 目标: 要有多个复选框,其中一些如果被选
我是一名优秀的程序员,十分优秀!