如何并排更新字典值?

时间:2017-08-28 10:07:41

标签: python python-3.x dictionary

我有一个字典,我正在创建带有排序值的字符串,并在字典字段值的开头添加每个字段值的长度。 我必须并排更新这些值,我必须哈希它:

但是这种字符串格式就是这样。

25http://a1ff569e.ngrok.io/
2TR
17foootest@mail.com
3Adı
6Soyadı
1105316806562
3000
164355084355084358
212
42018
8OPU_TEST
192017-08-28 10:24:57
8Ürünkodu
15Ürün Açıklaması
9Ürün İsmi
3100
11
7Test123
15
218
8CCVISAMC
3TRY

如何在下面并排更新此字符串值?

**我知道我可以使用end =''打印hashstring但是这并没有更新hashstring varabile的值,就像刚刚显示的那样和**

25http://a1ff569e.ngrok.io/ 2TR 17payutest@mail.com 3Adı 6Soyadı 1105316806562 3000 164355084355084358 212 42018 8PYKDMNSZ 192017-08-28 10:24:57 8Ürünkodu 15ÜrünAçıklaması 9Ürünİsmi 3100 11 7Test123 15 218 8CCVISAMC 3TRY

# Importing required libraries for sample.
from datetime import datetime
import hmac
import hashlib
from urllib.parse import urlencode
from urllib.request import Request, urlopen

# Endpoint
url = "https://secure.payu.com.tr/order/alu/v3"
# PayU Merchant's Secret Key
secret = 'SECRET_KEY'
# Array Begin
array = {
    # PayU Merchant's Merchant ID
    'MERCHANT': "OPU_TEST",
    'ORDER_REF':  "Test123",
    'ORDER_DATE': datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S'),
    'BACK_REF': "http://a1ff569e.ngrok.io/",
    'ORDER_PNAME[0]': "Ürün İsmi",
    'ORDER_PCODE[0]': "Ürünkodu",
    'ORDER_PINFO[0]': "Ürün Açıklaması",
    'ORDER_PRICE[0]': "100",
    'ORDER_VAT[0]': "18",
    'ORDER_QTY[0]': "1",
    'ORDER_SHIPPING': "5",
    'PRICES_CURRENCY': "TRY",
    'PAY_METHOD': "CCVISAMC",
    'SELECTED_INSTALLMENTS_NUMBER': "2",
    'CC_NUMBER': "4355084355084358",
    'EXP_MONTH': "12",
    'EXP_YEAR': "2018",
    'CC_CVV': "000",
    'BILL_FNAME': "Adı",
    'BILL_LNAME': "Soyadı",
    'BILL_PHONE': "05316806562",
    'BILL_EMAIL': "TEST@mail.com",
    'BILL_COUNTRYCODE': "TR",

}
# Sorting Array params
for k, v in sorted(array.items()):
# Adding the length of each field value at the beginning of field value
    hashstring = str(len(v)) + str(v)
    print(hashstring)
# Calculating ORDER_HASH
signature = hmac.new(secret.encode('utf-8'), hashstring.encode('utf-8'), hashlib.md5).hexdigest()
# Adding ORDER_HASH param to dictionary
array['ORDER_HASH'] = signature
print(signature)
print()

# Sending Request to Endpoint
request = Request(url, urlencode(array).encode())
json = urlopen(request).read().decode()
# Printing result
print(json)

1 个答案:

答案 0 :(得分:-1)

我不确定,但也许它有效。 请尝试与我们分享结果。

hashstring=print(hashstring+" ", end="")