zoukankan      html  css  js  c++  java
  • urllib模块中parse函数中的urlencode和quote_plus方法

    本来只是向看一下quote_plus的作用,然后发现urlencode方法也是很方便的一个组合字符串的方法首先是介绍一下urlencode,他是将一些传入的元素使用&串联起来,效果如下:

    >>>params = {
                "appid": 1,
                "mch_id": 1,
                "body": 1,
                "out_trade_no": 1,
                "total_fee": 1,
                "spbill_create_ip": 1,
                "notify_url": 1,
                "trade_type": 1,
                "nonce_str": 1
            }
    >>>parse.urlencode(params)
    'appid=1&mch_id=1&body=1&out_trade_no=1&total_fee=1&spbill_create_ip=1&notify_url=1&trade_type=1&nonce_str=1'

    如果加以改造,就可以直接应到生成微信支付的拼接字符串当中了:

    >>>parse.urlencode([(k, params[k]) for k in sorted(params)])
    'appid=1&body=1&mch_id=1&nonce_str=1&notify_url=1&out_trade_no=1&spbill_create_ip=1&total_fee=1&trade_type=1'
    >>>[(k, params[k]) for k in sorted(params)]
    [('appid', 1), ('body', 1), ('mch_id', 1), ('nonce_str', 1), ('notify_url', 1), ('out_trade_no', 1), ('spbill_create_ip', 1), ('total_fee', 1), ('trade_type', 1)]

    然后就是quote_plus了,使用了一下发现这个方法是将一些特殊的字符串转换为固定的一些符号字母数字组合,例如:

    >>>parse.quote_plus('a&b/c')
    'a%26b%2Fc'

    其中的&和/都分别变为了%26b和%2F,还有更多的一些符号变化就先不去一一尝试了。

  • 相关阅读:
    3.1 创建模型-实体属性
    3. 创建模型
    2.1 DbContext
    2. EF Core 如何显示执行的SQL语句
    1.1 为现有数据库生成实体模型
    1. EF Core 概述
    【2020-08-01】人生十三信条
    【一句日历】2020年8月
    【2020-07-31】一个像我一样精力充沛的孩子
    【2020-07-30】强大内心是自己的义务
  • 原文地址:https://www.cnblogs.com/zzy0306/p/8444614.html
Copyright © 2011-2022 走看看