[英]Python 3 run loop forever problems
我目前正在嘗試運行一個腳本,該腳本將永遠循環,但是由於某種原因,如果我在IDE中的樹莓派上運行此腳本,它將永遠循環,但是一旦我在啟動時通過終端/命令行執行該腳本,它將崩潰或退出一次掃描后
import sqlite3
conn = sqlite3.connect('barcode.db')
cursor = conn.cursor()
def create_table():
cursor.execute('CREATE TABLE IF NOT EXISTS Barcode(Barcode TEXT)')
create_table()
while True:
barcode = input("Scan barcode: ")
print("Barcode scanned: " + barcode)
cursor.execute("INSERT INTO Barcode VALUES (?)", [barcode])
conn.commit()
預先感謝您的任何幫助
從注釋中的錯誤消息中可以清楚地看出問題:
"TypeError: cannot concatenate 'str' and 'long' objects
long
類型在Python 3中不存在。我不確定如何將其配置為在啟動時運行,但它使用的是Python 2解釋器。 對於您的特定腳本:
barcode = input("Scan barcode: ")
print("Barcode scanned: " + barcode)
是令人反感的代碼。 Python 2中的input
將自動在輸入上調用eval()
,在這種情況下,它可以將其轉換為數字。 如果你真的想這個在Python 2運行,你需要raw_input
代替,但因為該代碼將不會在Python 3運行raw_input
被刪除。
我認為解決方案將遵循將python myscript.py
更改為python3 myscript.py
。 如果您正在使用NOOBS,那么您應該已經擁有兩者。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.