测试自动化学习3-python3简单操作
增
stu = []
stus.append('lili') #在list的末尾增加一个元素 stus.insert(9,'yjk') #在指定的位置插入元素,
查
print('单个取,第一个位置元素',stus[0]) print('最后一个元素',stus[-1])
改
stus[lili] = 'hanmeimei'
删
stus.pop(0) #默认删除list里面最后一个元素 del stus[0] #删除指定的位置的元素 stus.remove("hanmeimei") #删除指定的元素,如果list里面有多个一样的元素,那么就只会删掉一个
其它常用方法
count = stus.count('aaa') #某个元素在list里面的数量 stus.reverse() #反转 stus.sort(reverse=True) #倒序排序 stus.sort() #排序 result = stus.index('hanmeimei') #找某个元素下标
#多维数组,list嵌套
nums = [1,2,3,4,['a','b','c','d',['test','dev','pre']]]
print(nums[-1][-1][0]) #打印出test
2.字典
增加元素
d = {} d['name'] = 'ppa' d['age'] = 18 d.setdefault('class','szz') #设置默认 class:szz
改
d['name']='abc'
查
print( d['name'] ) print( d1.get('money',0) ) #取一个不存在的 print(d.keys()) #取到字典里面所有的key print(d.values()) #取到字典里面所有的value #查看某个值是否在字典的 key 里面 if xxx in d.keys():
if xxx in d:
删
d.pop('name') del d['name']
循环取值
#取 key、value for k,v in users.items(): print('%s===>%s'%(k,v)) users[k] = '%s_%s' % (k, v) #如果直接循环字典,则是取 key for k in users: value = users[k] users[k] = '%s_%s'%(k,value) print(users)
3.逻辑操作
while 和 else 可以连用,实现计数完成后,执行某个操作
while count<3: count+=1 ... ... else: print('错误次数已经用尽')
如果条件成立,不做任何操作
if xx: pass
4.字符串操作
s = s.strip() #不传参则默认去掉字符串两边的空格和换行符,传参则去除传入的字符串,s.lstrip() s.rstrip()去除左右 #将字符串切割成list users='abc,xiaozi,xiaobai,xiaohei,xiaoming,xiaolan' print(users.split(',')) #将list转成字符串 li = ['abc', 'xiaozi', 'xiaobai', 'xiaohei', 'xiaoming', 'xiaolan'] li_str = ','.join(li) s.count('c') #某个字符串出现次数 s.index('d') #查看出现位置 s.find('d') s.capitalize() #首字母大写 s.upper() #全部大写 s.lower() #全部小写 s.replace("c","C") #替换 'abc.jpg'.endswith('.jpg') #判断以 xx 结尾 'abc'.startswith('c') #判断以 xx 开头 ' '.isspace() #判断是否是空格 '123abc'.isalnum() #没有%%##@特殊字符串就返回true 'abc'.isalpha() #不是数字、不是特殊符号就返回true '12.34'.isdigit() #判断是否为整数 '11111'.zfill(5) #字符串长度不够的话,自动给你补零 #随机字符串和数字 import random import string print(string.ascii_letters) #大小写字母 print(string.ascii_lowercase) #小写字母 print(string.ascii_uppercase) #大写字母 print(string.digits) #数字 low = ''.join(random.sample(string.ascii_lowercase,5)) num = ''.join(random.sample(string.digits,5)) user = low + num low = ''.join(random.sample(string.ascii_lowercase,5)) num = ''.join(random.sample(string.digits,5)) passwd = low + num print(user + ',' + passwd)
5.文件操作
import random
import string
import os
def File2Dict(filename): """直接传入文件名 'users.txt',文件为一行行 username,password 的结构,读取成 filedict 字典""" filedict = {} with open(filename, 'r+') as f: for i in f.readlines(): filedict[i.split(',')[0]] = i.split(',')[1].replace('\n', '') return filedict def KeyValue2File(key,value,filename): """传入 'key','value','filename' 将key、value写入文件最末行""" with open(filename, 'a+') as f: f.write('%s,%s\n'%(key.lower(),value)) def RangdomUser(): if os.path.isfile('users.txt'): while True: low = ''.join(random.sample(string.ascii_lowercase, 5)) num = ''.join(random.sample(string.digits, 5)) user = low + num if user not in File2Dict('users.txt').keys(): break else: continue else: low = ''.join(random.sample(string.ascii_lowercase, 5)) num = ''.join(random.sample(string.digits, 5)) user = low + num low = ''.join(random.sample(string.ascii_lowercase, 5)) num = ''.join(random.sample(string.digits, 5)) passwd = low + num return [user,passwd]