1.python 文件操作
在自动化测试过程中,需要读取文件中的数据(等价类边界值的测试用例等),还有脚本跑完后的测试结论的写入文件,这些都是和python文件的中测试数据有关。
1.1写入操作
先试着在D盘aaa目录下写入一个tyt.txt文件。
f = open('d:\\aaa\\tyt.txt','a',encoding='UTF-8')
f.write("today is Sunday")
f.write("\n")
f.write("今天周日")
最终可以看到生成了这个文件
1.2读取数据
读取数据可以按字符读取,也可以按行读取。 1.先看按字符读取:
f2 = open('d:\\aaa\\tyt.txt','r',encoding='UTF-8')
tytcontent = f2.read(2)
print("读取的内容是",tytcontent)
输出结果
读取的内容是to
解释:如果文本中有换行或空格,也是一个字符。
另外如果连续调用read函数,则是按顺序往下读取,不会每次都从头读取。 举个例子
f2 = open('d:\\aaa\\tyt.txt','r',encoding='UTF-8')
tytcontent = f2.read(2)
print("读取的内容是",tytcontent)
tytcontent = f2.read(2)
print("读取的内容是",tytcontent)
tytcontent = f2.read(3)
print("读取的内容是",tytcontent)
输出结果为
读取的内容是to 读取的内容是da 读取的内容是y i
2.按行读取 如果文本中行数很多,按字符读取是很不方便的,所以就引出了按行读取。 先看一个一行一行读取的栗子:
f3 = open('d:\\aaa\\tyt.txt','r',encoding='UTF-8')
tytcontent1=f3.readline()
tytcontent1=f3.readline()
print("第一行数据",tytcontent1)
print("第二行数据",tytcontent2)
输出结果
第一行数据 today is Sunday 第二行数据 今天周日
如果要读取所有数据,只需要调用readlines()函数,需要注意的是读取之后,会将所有行塞到列表[]中去。如果要输出读取的内容,需要用循环读取列表。
f3 = open('d:\\aaa\\tyt.txt','r',encoding='UTF-8')
content1=f3.readlines()
for aa in content:
print("内容是%s"%aa)
1.3python操作excel文件
需要注意的是,excel必须是后缀名为.xls,python本身是不支持excel操作的,所以必须要扩展,可以用别的库: xlrd库:负责excel的读操作 xlwt和xlutils:负责写操作 (一个可以下载所需的任何库的地址:https://pypi.org/) 补充一个装库步骤:1.安装:解压–进入解压路径(按住shift打开命令行)–python setup.py install 2.重启pycharm 栗子一:读取excel的数据 先造一个excel文件并保存在英文目录下
import xlrd
tytworkbook=xlrd.open_workbook("c:\\user.xls")
tytworksheet=tytworkbook.sheet_by_name("name1")
aa=tytworksheet.cell(1,1).value
print("读取的内容是",aa)
上面的代码只是获取表中的一个数据,如果要获得多个数据,则需要获得表的行数之后用循环输出
print(tytworksheet.nrows)
for i in range(tytworksheet.nrows):
result1=tytworksheet.cell(i,0).value
result2=tytworksheet.cell(i,1).value
print("行数据",result1,result2)
例子二:使用Python王文建忠写入数据 Python只可以对新建的Excel写入数据,不可以直接对已经存在的Excel进行写入数据。如果说需要对已经存在的Excel进行写入数据,则需要拷贝一份,也就是新建,然后对拷贝的文件做修改之后让其覆盖保存原来的Excel文件。
tytwb=xlrd.open_workbook("c:/user.xls")
newtytwb=copy(tytwb)
newtytwb.get_sheet(0).write(6,6,"changed!!")
newtytwb.save("c:\\user.xls")
|