如何检查导入数据是否成功

时间:2017-12-16 04:39:43

标签: python database redis

我写了一个查询,我想将json数据添加到Redis中,但是经过处理(我使用pycharm)后,没有显示结果只是Process完成了退出代码0.那么如何检查它是否成功?

以下是代码:

import json
import redis
import mysql.connector

r = redis.StrictRedis(
host='localhost',
port=6379,
charset="utf-8", decode_responses=True)

cnx = mysql.connector.connect(user='root', password='000000',
                              host='127.0.0.1',
                              database='m')

player_data= [
    {'playID':'aardsda01', 'birthYear':'1981', 'birthMonth':'12', 'birthDay':'27', 'birthCountry':'USA', 'birthState':'CO',
     'nameFirst':'David', 'nameLast':'Aardsma'}
]

json_store = json.dumps(player_data)
r.set('players', json_store)
k = json.loads(r.get('players'))
player_data == k

非常感谢!

2 个答案:

答案 0 :(得分:2)

假设您上面的缩进是正确的,您就会询问结果。你的最后一行是player_data == k,这是一些比较,但它实际上并没有做任何事情,存储或提示。也许,而不是

player_data == k
你想说:

print('Match is %r' % player_data == k)

这将为您提供关于交互是否成功的一些反馈。

答案 1 :(得分:1)

您正在比较player_data == k,但您没有对结果做任何事情。

我拿了你的代码并稍微修改了一下。所以你可以发生了什么。 :

我添加了一些print()语句,以便您可以查看==比较是否为真。

如果他们不是真的,我还会添加非零退出。你看到上面的exit 0; 0通常是成功的退出。我添加了exit(1)只是为了说明如果您的程序退出错误,您可以用错误代码表达。

import json
import redis
import os

r = redis.StrictRedis( host='localhost', port=6379,
    charset="utf-8", decode_responses=True)

player_data= [
    {'playID':'aardsda01', 'birthYear':'1981', 'birthMonth':'12', 'birthDay':'27', 'birthCountry':'USA', 'birthState':'CO',
     'nameFirst':'David', 'nameLast':'Aardsma'}
]

json_store = json.dumps(player_data)
r.set('players', json_store)
k = json.loads(r.get('players'))
if player_data != k:
    print("player_data and k were not equal")
    exit(1) # exit codes other than 0 are errors
else:
    print("player_data and k were equal!")
    # as you've seen, 0 is the default return value

当我运行它时,我发现我的代码取得了成功。

/ # python t.py
player_data and k were equal!

这是另一个可能会给你一些想法的命令。

$ redis-cli get players | python -mjson.tool
[
    {
        "playID": "aardsda01",
        "birthYear": "1981",
        "birthMonth": "12",
        "birthDay": "27",
        "birthCountry": "USA",
        "birthState": "CO",
        "nameFirst": "David",
        "nameLast": "Aardsma"
    }
]