在自动化测试过程中 需要读取文件中的数据 等价类边界值的测试用例等 还有脚本跑完后的测试结论的写入文件 这些都是和python文件的中测试数据有关。
1.1写入操作先试着在D盘aaa目录下写入一个tyt.txt文件。
#文件1写入操作 #打开文件 参数1 文件的位置 #参数2 打开文件模式 r--只读不可修改 w--覆盖修改 a--追加写修改 #参数3 指定中文的编码格式 #目录必须要存在 文件可以不存在 f open( d:\aaa\tyt.txt , a ,encoding UTF-8 ) #对象可写可读函数 f.write( today is Sunday ) f.write( n )#换行 f.write( 今天周日 )
最终可以看到生成了这个文件
读取数据可以按字符读取 也可以按行读取。
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文件并保存在英文目录下
#1.打开excel import xlrd tytworkbook xlrd.open_workbook( c:\user.xls ) #2.定位Sheet tytworksheet tytworkbook.sheet_by_name( name1 ) #3.定位单元格(从零开始) 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文件。
#1.打开Excel文件 tytwb xlrd.open_workbook( c:/user.xls ) #2.拷贝Excel文件 newtytwb copy(tytwb) #修改拷贝的文件 #必须用get_sheet(0) 定位第一个sheet newtytwb.get_sheet(0).write(6,6, changed!! ) #让拷贝的文件覆盖保存原来的文件 newtytwb.save( c:\user.xls )



