parent_data = find_parent () TypeError: find_parent () отсутствует 1 обязательный позиционный аргумент: 'pid' - PullRequest
0 голосов
/ 06 января 2019

Привет, я делаю чат-бот с питоном, вот мой код

import sqlite3
import json
from datetime import datetime

def find_parent(pid):
    try:
        sql = "SELECT comment FROM parent_reply WHERE link_id = '{}' LIMIT 1".format(pid)
        c.execute(sql)
        result = c.fetchone()
        if result != None:
            return result[0]
        else: return False
    except Exception as e:
        print("find_parent", e)
        return False

if __name__ == "__main__":
    create_table()
    row_counter = 0
    paired_rows = 0

    with open ("C:/Users/harry/OneDrive/Desktop/reddit_data/2007/RC_2007-11".format(timeframe.split('-')[0], timeframe), buffering=1000) as f:
        for row in f:
            row_counter =+ 1
            row = json.loads(row)
            parent_id = row['parent_id']
            body = format_data(row['body'])
            created_utc = row['score']
            subreddit = row['subreddit']

        parent_data = find_parent()

и когда я запускаю этот код, я получаю следующую ошибку, может кто-нибудь, пожалуйста, помогите мне

parent_data = find_parent() TypeError: find_parent() missing 1 required positional argument: 'pid'

1 Ответ

0 голосов
/ 06 января 2019

Ваша функция find_parent(pid): ожидает, что аргумент будет передан во время вызова.

Вы называете это как

parent_data = find_parent()

где вы не передаете никаких аргументов. Отсюда очевидная ошибка.

pid - это переменная / аргумент для определения функции. Ваш фактический идентификатор в основной функции, в которую вы звоните find_parent(), хранится в переменной parent_id. Вам нужно передать parent_id, значение которого будет присвоено pid как

parent_data = find_parent(parent_id)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...