1 回答

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超5個(gè)贊
錯(cuò)誤是因?yàn)檫@段代碼:
try:
line2 = 1
except NameError:
break
else:
for char in line2:
keyboard.press(char)
keyboard.release(char)
time.sleep(0.1)
之后line2 = 1,line2不再包含用戶輸入的行,而是包含整數(shù)1。for char in line2將不再有效,因?yàn)槟鸁o法遍歷整數(shù)。
我認(rèn)為您正在嘗試使用該try/except塊來判斷用戶是否為line2. 但是賦值永遠(yuǎn)不會(huì)報(bào)告 a NameError,只有在嘗試讀取尚未賦值的變量時(shí)才會(huì)出現(xiàn)該錯(cuò)誤。此外,讀取輸入的代碼始終分配給line2,因此您不會(huì)收到錯(cuò)誤消息。如果您為前幾行輸入,則可能未設(shè)置的變量是line3and 。line4none
每當(dāng)您發(fā)現(xiàn)自己創(chuàng)建的變量具有這樣的順序名稱時(shí),您可能應(yīng)該使用列表而不是單獨(dú)的變量。以下是讀取所有輸入行的方法:
lines = []
while True:
line = input("Please enter your next line, type 'none' if you don't have one")
if line == "none":
break
lines.append(line)
當(dāng)你想輸入它們時(shí):
random.seed()
while time.time() < future and runs < hours*60:
for line in lines:
for char in line:
keyboard.press(char)
keyboard.release(char)
time.sleep(0.1)
keyboard.press(Key.shift)
keyboard.press(Key.enter)
keyboard.release(Key.shift)
keyboard.release(Key.enter)
runs += 1
print("Random Seconds Added:")
print(int(random1))
print("Time to next entry:")
for y in range(int(retry) + int(random1)):
print(int(retry) + int(random1 - y))
time.sleep(1)
另一個(gè)問題是您timeout在循環(huán)期間從未更新,它始終是它開始的時(shí)間。
添加回答
舉報(bào)