[英]python user input to the function
我有 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')
現在很清楚我希望用戶輸入而不是讀取文件作為輸入並生成文件作為輸出
我想從用戶那里得到輸入,而不是給和輸出到文件
您的問題尚不清楚,但根據我的理解,您希望將終端(用戶)的輸入作為文件名或您想要輸入的任何內容,您可以使用系統參數為此執行以下操作:
import sys
filename=sys.argv[0]
print("arguments I want to pass:", filename)
您可以通過更改 argv 中的數字(如 sys.argv[1])來添加更多參數。 運行文件時使用:
python file.py arg1, arg2
你的問題很不清楚,還包括你的願望輸出。 使用 tkinter 彈出對話框供用戶輸入。 將參數傳遞給第二個函數。
使用類,因為您有多種功能。 根據我的理解,您希望第一個讀取文件的函數正確嗎? 因此,您應該使用對話框讓用戶通過使用 tkinter 或只是一個簡單的用戶輸入請求來插入輸入,您可以使用input('Please insert: ')
您可以將輸入傳遞給您的函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.