python 常用模块
1.相对路径和绝对路径:
- open('aaa.txt')
- open('/data/bbb.txt')
- open('D:\\user\\ccc.txt')
假设当前的py文件夹所处的位置是:D:\user\public
前两个都是相对路径,第三个则是绝对路径。绝对路径比较好理解,就是最完整的路径,相对路径的相对则是不完整路径,这个相对指的就是相对于当前文件夹路径,其实就是你编写的这个py文件所放的文件夹路径!也就是说你写的相对路径必须是当前文件夹A里的文件a或者A里的文件夹B里的文件才可以open
我们常用’/‘来表示相对路径,’\‘来表示绝对路径,上面的路径里\\是转义的意思(3也可以写成open(r'D:\user\ccc.txt'),r表示转义)此外,网页网址和Linux、unix系统下一般都用’/‘
2.os.path模块
__file__ :一个python源码在运行时有个解释器自带的参数__file__,这个量会告诉你当前这个代码的地址(可能是相对也可能是绝对)
os.path.join(path,'url.ini') 连接文件路径和文件名
print(__file__)可能是相对也可能是绝对》》 G:/qingguopython_version5/config/config.py
os.path.abspath(path) #返回绝对路径 》》 G:\qingguopython_version5\config\config.py
os.path.dirname(path) #返回文件路径 》》G:/qingguopython_version5/config/
os.path.realpath(path) #返回path的真实路径 》》('G:\\qingguopython_version4\\conf', 'conf.ini')
os.path.split(path) #把路径分割成dirname和basename,返回一个元组
3.def join(self, iterable):
S.join([iterable]) -> str>>以s作为间隔,将数组iterable中的元素连接,
url="".join([url_ini(),endpoint])
4.json=Testdata.get('json') -> 字典的用法,获取关键字为“json”的值
5.type() -> python 中查看数据类型的方法 >>>type(1) <type 'int'>
6.eval() -> 可以把list,tuple,dict和string相互转化。当从excel获取数据到的数据通常为字符串,通过eval()函数转换后,变为可用的数据
1.字符串转换成列表
a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]" eval(a)-》[[1, 2], [3, 4], [5, 6], [7, 8], [9, 0]]
2.字符串转换成字典
a = "{1: 'a', 2: 'b'}" eval(a)-》{1: 'a', 2: 'b'}
3.字符串转换成元组
a = "([1,2], [3,4], [5,6], [7,8], (9,0))" eval(a)-》 ([1, 2], [3, 4], [5, 6], [7, 8], (9, 0))
6.get_cookie=requests.utils.dict_from_cookiejar(result.cookies) 》》将CookieJar转为字典,再将字典传给requests.post()函数中的cookies 参数
#对于cookies格式的转化,提供了三个工具方法:
#requests.utils.dict_from_cookiejar(cj)
#requests.utils.cookiejar_from_dict(cookie_dict, cookiejar=None, overwrite=True)
#requests.utils.add_dict_to_cookiejar(cj, cookie_dict)
6.交叉导入:
A: get_B:import B
get_C:import C
B:
C:import b 正确
from A import get_B 报错
如图:C从A处导入,但是A又导入了C,形成了循环,所以会报错,如果不从a处导入,直接从b处导入,则正确。
7.DDT数据驱动
from ddt import ddt,data,file_data,unpack
8.eval 函数
表格中的数据:{'headers':{'Content-Type':'application/json'}} 其实是一个str, 使用excel读取出来后,结果为为str,如果要进行requests传值,需要将其转换为 字典。
params=eval(testdata[1][3])