首页 > 解决方案 > python用户对函数的输入

问题描述

我有 2 个功能,其中之一加载和准备数据以进行测试

另一个执行测试,它正在读取文件作为测试并生成

第二个文件作为测试结果

我想要做的是用户输入一些东西而不是文件,然后执行测试

第一个功能:

def load_test_data(source, X_word_to_ix, max_len):
    f = open(source, 'r')
    X_data = f.read()
    f.close()
    X = [text_to_word_sequence(x)[::-1] for x in X_data.split('\n') if 0 < len(x) <= max_len]
    for i, sentence in enumerate(X):
        for j, word in enumerate(sentence):
            if word in X_word_to_ix:
                X[i][j] = X_word_to_ix[word]
            elif word in X_word_to_ix is None:
                X[i][j] = None
            else:
                X[i][j] = X_word_to_ix['UNK']
    return X

相反,源应该是用户输入

第二个功能:

if len(saved_weights) == 0:
    print("The network hasn't been trained! Program will exit...")
    sys.exit()
else:
    X_test = load_test_data('test.txt', X_word_to_ix, MAX_LEN)
    X_test = pad_sequences(X_test, maxlen=X_max_len, dtype='int32')
    model.load_weights(saved_weights)

    predictions = np.argmax(model.predict(X_test), axis=2)
    sequences = []
    for prediction in predictions:
        sequence = ' '.join([y_ix_to_word[index] for index in prediction if index > 0])
        print(sequence)
        sequences.append(sequence)
    np.savetxt('test_result', sequences, fmt='%s')

现在很清楚我想要用户输入而不是读取文件作为输入并生成文件作为输出

我想从用户那里得到输入,而不是给和输出到文件

标签: pythonfunctioninputkerasprediction

解决方案


您的问题非常不清楚,还包括您的期望输出。使用 tkinter 弹出对话框供用户输入。将参数传递给第二个函数。

使用类,因为您有多种功能。根据我的理解,您希望第一个函数读取文件是正确的吗?因此,您应该使用一个对话框让用户通过使用 tkinter 或只是一个简单的用户输入请求来插入输入,您可以使用input('Please insert: ')

您可以将输入传递给您的函数。


推荐阅读