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

问题描述 投票:0回答:2

我写了一个查询,我想将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

非常感谢你!

python database redis
2个回答
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"
    }
]

2
投票

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

player_data == k

你想说:

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

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

© www.soinside.com 2019 - 2024. All rights reserved.