当前位置: 首页 > news >正文

营销网站开发哪家强网站外链是什么意思

营销网站开发哪家强,网站外链是什么意思,深圳专业网站设计公司价格,池州网站网站建设文章目录 一 什么是prettytable二 prettytable的简单使用1. 添加表头2. 添加行3. 添加列4. 设置对齐方式4. 设置输出表格样式5. 自定义边框样式6. 其它功能 三 prettytable在实际中的使用 一 什么是prettytable prettytable是Python的一个第三方工具库,用于创建漂亮…

文章目录

    • 一 什么是prettytable
    • 二 prettytable的简单使用
        • 1. 添加表头
        • 2. 添加行
        • 3. 添加列
        • 4. 设置对齐方式
        • 4. 设置输出表格样式
        • 5. 自定义边框样式
        • 6. 其它功能
    • 三 prettytable在实际中的使用

一 什么是prettytable

prettytable是Python的一个第三方工具库,用于创建漂亮的ASCII表格。它支持带有列标题的表格,还支持颜色和自定义格式。使用prettytable可以轻松地将数据可视化为表格,方便阅读和理解。
因为是第三方工具库,所以要先安装,安装命令如下

pip install prettytable

二 prettytable的简单使用

1. 添加表头

使用field_names来添加表头,传参是一个list对象

from prettytable import PrettyTable#创建Prettytable实例
tb = PrettyTable()
#添加表头
tb.field_names = ['userId', 'name', 'sex', 'age', 'job']
print(tb)
>>>
+--------+------+-----+-----+-----+
| userId | name | sex | age | job |
+--------+------+-----+-----+-----+
+--------+------+-----+-----+-----+

2. 添加行

使用add_row()方法来添加行数据,传参是一个list对象

from prettytable import PrettyTable#创建Prettytable实例
tb = PrettyTable()
#添加表头
tb.field_names = ['userId', 'name', 'sex', 'age', 'job']
#添加行数据
tb.add_row(['123', '张三', '男', '25', 'softtest'])
print(tb)

3. 添加列

使用add_column()方法来添加列数据,add_column()有两个参数:第一个是列标题的名称,类型str;第二个是列对应的value,类型list,如下

from prettytable import PrettyTable#创建Prettytable实例
tb = PrettyTable()
#添加表头
tb.field_names = ['userId', 'name', 'sex', 'age', 'job']
#添加行
tb.add_row(['123', '张三', '男', '25', 'softtest'])
#添加列
tb.add_column('address', ['深圳'])
print(tb)
>>>
+--------+------+-----+-----+----------+---------+
| userId | name | sex | age |   job    | address |
+--------+------+-----+-----+----------+---------+
|  123   | 张三 ||  25 | softtest |   深圳  |
+--------+------+-----+-----+----------+---------+

4. 设置对齐方式

使用align来设置对齐方式,默认居中对齐,其中l是向左对齐,c是居中对齐,r是向右对齐,如下

from prettytable import PrettyTable#创建Prettytable实例
tb = PrettyTable()
#添加表头
tb.field_names = ['userId', 'name', 'sex', 'age', 'job']
#添加行
tb.add_row(['123', '张三', '男', '25', 'softtest'])
tb.add_row(['124', '李四', '男', '25', 'Java'])
#添加列
tb.add_column('address', ['深圳', '北京'])
#设置对齐方式align: l,r,c
tb.align = 'l'
print(tb)
>>>
+--------+------+-----+-----+----------+---------+
| userId | name | sex | age | job      | address |
+--------+------+-----+-----+----------+---------+
| 123    | 张三 || 25  | softtest | 深圳    |
| 124    | 李四 || 25  | Java     | 北京    |
+--------+------+-----+-----+----------+---------+

4. 设置输出表格样式

使用set_style()来控制数据表格的样式,set_style()默认参数是DEFAULT,如果需要更换为其它方式,则需要import导入后使用,如下
表格样式

from prettytable import PrettyTable
from prettytable import MARKDOWN, MSWORD_FRIENDLY#创建Prettytable实例
tb = PrettyTable()
#添加表头
tb.field_names = ['userId', 'name', 'sex', 'age', 'job']
#添加行
tb.add_row(['123', '张三', '男', '25', 'softtest'])
tb.add_row(['124', '李四', '男', '25', 'Java'])
#添加列
tb.add_column('address', ['深圳', '北京'])
#设置对齐方式align: l,r,c
tb.align = 'l'
#设置输出表格的样式
print("DEFAULT表格样式:")
print(tb)
tb.set_style(MSWORD_FRIENDLY)
print("MSWORD_FRIENDLY表格样式:")
print(tb)
tb.set_style(MARKDOWN)
print("MARKDOWN表格样式:")
print(tb)
>>>
DEFAULT表格样式:
+--------+------+-----+-----+----------+---------+
| userId | name | sex | age | job      | address |
+--------+------+-----+-----+----------+---------+
| 123    | 张三 || 25  | softtest | 深圳    |
| 124    | 李四 || 25  | Java     | 北京    |
+--------+------+-----+-----+----------+---------+
MSWORD_FRIENDLY表格样式:
| userId | name | sex | age | job      | address |
| 123    | 张三 || 25  | softtest | 深圳    |
| 124    | 李四 || 25  | Java     | 北京    |
MARKDOWN表格样式:
| userId | name | sex | age | job      | address |
|:-------|:-----|:----|:----|:---------|:--------|
| 123    | 张三 || 25  | softtest | 深圳    |
| 124    | 李四 || 25  | Java     | 北京    |

5. 自定义边框样式

prettyble中表格边框由三部分组成:横边框,竖边框和边框连接符,由以下几个属性控制

table.border 控制是否显示边框,默认是True
table.junction_char 控制边框连接符
table.horizontal_char 控制横边框符号
table.vertical_char 控制竖边框符号
from prettytable import PrettyTable#创建Prettytable实例
tb = PrettyTable()
#添加表头
tb.field_names = ['userId', 'name', 'sex', 'age', 'job']
#添加行
tb.add_row(['123', '张三', '男', '25', 'softtest'])
tb.add_row(['124', '李四', '男', '25', 'Java'])
#添加列
tb.add_column('address', ['深圳', '北京'])
#设置对齐方式align: l,r,c
tb.align = 'l'
#自定义边框样式
print("默认边框:")
print(tb)
tb.horizontal_char = '*'  #横边框
tb.vertical_char = '|'    #竖边框
tb.junction_char = '|'    #边框连接符
print("自定义边框:")
print(tb)
>>>
默认边框:
+--------+------+-----+-----+----------+---------+
| userId | name | sex | age | job      | address |
+--------+------+-----+-----+----------+---------+
| 123    | 张三 || 25  | softtest | 深圳    |
| 124    | 李四 || 25  | Java     | 北京    |
+--------+------+-----+-----+----------+---------+
自定义边框:
|********|******|*****|*****|**********|*********|
| userId | name | sex | age | job      | address |
|********|******|*****|*****|**********|*********|
| 123    | 张三 || 25  | softtest | 深圳    |
| 124    | 李四 || 25  | Java     | 北京    |
|********|******|*****|*****|**********|*********|

6. 其它功能

prettytable还有很多其它功能,可以参考官网或者这篇文章:python用prettytable输出漂亮的表格

三 prettytable在实际中的使用

在实际的接口测试过程中,我们都要对返回的接口进行数据校验,包括但不限于返回状态码,单个字段值。为了能够快速知道,以及美化校验结果,我们可以使用prettytable来进行结果校验输出,如下。

返回接口:

{"HEAD": {"xTypCod": null,"xHdrLen": "203","xSysCod": null,"xDskSys": null,"xWkeCod": "WdcTrfSetBeg","xKeyVal": null,"xIsuCnl": "X86","xEncCod": null,"xDalCod": null,"xCmmTyp": null,"xOrgIsu": null,"xPreIsu": null,"xEntUsr": "","xUsrPwd": null,"xIsuDat": "0","xIsuTim": "0","xMacCod": null,"xRtnLvl": null,"xRtnCod": "WYZQA76","xDevNbr": null,"xTlrNbr": "100025","xRqsNbr": null,"xCmmRsv": null,"xDocSiz": null,"xItvTms": null,"xMsgFlg": null,"xAppRsv": null},"BODY": {"$ERRORMSG$": [{"xErrMsg": "WYZQA76锁查步骤表记录失败,批次D019860641"}]}
}

校验脚本

from prettytable import PrettyTable
import json
import jsonpathresponse_data = """
{"HEAD": {"xTypCod": null,"xHdrLen": "203","xSysCod": null,"xDskSys": null,"xWkeCod": "WdcTrfSetBeg","xKeyVal": null,"xIsuCnl": "X86","xEncCod": null,"xDalCod": null,"xCmmTyp": null,"xOrgIsu": null,"xPreIsu": null,"xEntUsr": "","xUsrPwd": null,"xIsuDat": "0","xIsuTim": "0","xMacCod": null,"xRtnLvl": null,"xRtnCod": "WYZQA76","xDevNbr": null,"xTlrNbr": "100025","xRqsNbr": null,"xCmmRsv": null,"xDocSiz": null,"xItvTms": null,"xMsgFlg": null,"xAppRsv": null},"BODY": {"$ERRORMSG$": [{"xErrMsg": "WYZQA76锁查步骤表记录失败,批次D019860641"}]}
}
"""def validate_data(data: dict, yqz: dict) -> None:""":param data: 要校验的数据:param yqz: 预期值:return: None"""data = json.loads(data)tb = PrettyTable()#添加表头tb.field_names = ['比较字段', '预期值', '实际值', '是否通过']for k, v in yqz.items():#用jsonpath查找预期值字段在返回数据resresponse_data的值res = jsonpath.jsonpath(data, '$..' + k)[0]if v == res:tb.add_row([k, v, res, 'Y'])else:tb.add_row([k, v, res, 'N'])print(tb)#预期值数据
yqz = {'xRtnCod': 'WYZQA76', 'xErrMsg': 'WYZQA76锁查步骤表记录失败,批次D019860641'}
#结果校验
validate_data(response_data, yqz)

效果

>>>
+----------+------------------------------------------+------------------------------------------+----------+
| 比较字段 |                  预期值                  |                  实际值                  | 是否通过 |
+----------+------------------------------------------+------------------------------------------+----------+
| xRtnCod  |                 WYZQA76                  |                 WYZQA76                  |    Y     |
| xErrMsg  | WYZQA76锁查步骤表记录失败,批次D019860641 | WYZQA76锁查步骤表记录失败,批次D019860641 |    Y     |
+----------+------------------------------------------+------------------------------------------+----------+

上面做了一个简单的演示,实际工作中可以结合自身需求封装成组件或者包,使用效果会更佳。


文章转载自:
http://dinncoblamelessly.ssfq.cn
http://dinncosnowmaking.ssfq.cn
http://dinncoanthroposociology.ssfq.cn
http://dinncocrucis.ssfq.cn
http://dinncooptime.ssfq.cn
http://dinncochitchat.ssfq.cn
http://dinncotrivially.ssfq.cn
http://dinncogangplow.ssfq.cn
http://dinncocoinhere.ssfq.cn
http://dinncospectate.ssfq.cn
http://dinncocolourbred.ssfq.cn
http://dinncorebatement.ssfq.cn
http://dinncocircumvolant.ssfq.cn
http://dinncopostamble.ssfq.cn
http://dinncoreparations.ssfq.cn
http://dinncosonation.ssfq.cn
http://dinnconewlywed.ssfq.cn
http://dinncoantitussive.ssfq.cn
http://dinncochapman.ssfq.cn
http://dinncomanwise.ssfq.cn
http://dinncoantagonize.ssfq.cn
http://dinncoleadplant.ssfq.cn
http://dinncounneighbourly.ssfq.cn
http://dinncointerweave.ssfq.cn
http://dinncobarrow.ssfq.cn
http://dinncoundecipherable.ssfq.cn
http://dinncotired.ssfq.cn
http://dinncopsychobiology.ssfq.cn
http://dinncochiack.ssfq.cn
http://dinncoreferee.ssfq.cn
http://dinncobcom.ssfq.cn
http://dinncoorigin.ssfq.cn
http://dinncoyha.ssfq.cn
http://dinncopregnenolone.ssfq.cn
http://dinncopreselect.ssfq.cn
http://dinncoclaudian.ssfq.cn
http://dinncounascertained.ssfq.cn
http://dinncocoaptate.ssfq.cn
http://dinncoballast.ssfq.cn
http://dinncoratha.ssfq.cn
http://dinncoundertow.ssfq.cn
http://dinncoexegesis.ssfq.cn
http://dinncosleuthhound.ssfq.cn
http://dinncospancel.ssfq.cn
http://dinncocetaceum.ssfq.cn
http://dinncosnog.ssfq.cn
http://dinncounrevenged.ssfq.cn
http://dinncosegregator.ssfq.cn
http://dinncopizzicato.ssfq.cn
http://dinncomissaid.ssfq.cn
http://dinncowindowlight.ssfq.cn
http://dinncoembryologist.ssfq.cn
http://dinncoreclassification.ssfq.cn
http://dinncosubstandard.ssfq.cn
http://dinncodegression.ssfq.cn
http://dinncoindefeasibility.ssfq.cn
http://dinncohypomagnesemia.ssfq.cn
http://dinncoquartermaster.ssfq.cn
http://dinncoligniperdous.ssfq.cn
http://dinncoaspartase.ssfq.cn
http://dinnconoegenesis.ssfq.cn
http://dinncotrunkmaker.ssfq.cn
http://dinncomistakeable.ssfq.cn
http://dinncomeshugge.ssfq.cn
http://dinncococain.ssfq.cn
http://dinncoctenophoran.ssfq.cn
http://dinnconye.ssfq.cn
http://dinncoleaving.ssfq.cn
http://dinncohyponastic.ssfq.cn
http://dinncobubblehead.ssfq.cn
http://dinncocopperize.ssfq.cn
http://dinncowardenry.ssfq.cn
http://dinncobatiste.ssfq.cn
http://dinncomoldy.ssfq.cn
http://dinncocockerel.ssfq.cn
http://dinncopugilistic.ssfq.cn
http://dinncomonstrosity.ssfq.cn
http://dinncotripolite.ssfq.cn
http://dinncokayo.ssfq.cn
http://dinncocaragana.ssfq.cn
http://dinncoteutonize.ssfq.cn
http://dinncosackless.ssfq.cn
http://dinncoongoing.ssfq.cn
http://dinncoglossy.ssfq.cn
http://dinncoreproachful.ssfq.cn
http://dinncounsurpassed.ssfq.cn
http://dinncopgup.ssfq.cn
http://dinncoripping.ssfq.cn
http://dinncolothringen.ssfq.cn
http://dinncobelgian.ssfq.cn
http://dinncononvector.ssfq.cn
http://dinncosynovia.ssfq.cn
http://dinncodhoti.ssfq.cn
http://dinncotarnishproof.ssfq.cn
http://dinncoethnography.ssfq.cn
http://dinncoargentic.ssfq.cn
http://dinncokahn.ssfq.cn
http://dinncokythera.ssfq.cn
http://dinncocabobs.ssfq.cn
http://dinncopronumeral.ssfq.cn
http://www.dinnco.com/news/130507.html

相关文章:

  • 做网站要什么技术广告推广代运营公司
  • 网站建设服务器的配置软件推广是什么工作
  • 微信小程序应用开发优化公司
  • 旅游景点网站建设规划书seo网站优化培
  • 个人设计网站厦门网站快速排名优化
  • 专门做网站开发的公司陕西seo
  • 做网站是比特币的seo营销优化
  • 网站设计原型图怎么做百度问答平台
  • 河北住房和城乡建设部网站关键词怎么优化
  • 国外门户网站源码长春网站推广排名
  • 效果图网站源码东莞网站自动化推广
  • 赣州网站推广多少钱湖南网络推广机构
  • 创世网络网站建设招商外包
  • 专做医药中间体的网站惠州seo按天付费
  • wordpress個人網站域名现在广告行业好做吗
  • 网络公司名字大全三字seo排名优化app
  • 北京市轨道交通建设管理有限公司网站十大永久免费的软件下载
  • 网站建设优化服务熊掌号网盘资源大全
  • 最专业的医疗网站建设跨境电商培训
  • 松江新城做网站公司可以发广告的平台
  • 上海公司注册信息查询网南宁seo推广公司
  • 入口页奶盘seo伪原创工具
  • wordpress插件证书认证网站小程序运营推广公司
  • 网站做彩票google网站搜索
  • 网站建设好学吗百度seo视频教程
  • 做外国网站中国十大小说网站排名
  • 网站制作开发技术杭州seo网站推广排名
  • 有域名有空间如何做网站seo整站优化多少钱
  • flashfxp 发布网站太原seo外包平台
  • 网站建设目标重庆百度竞价开户