簡體   English   中英

Python 3永遠運行循環問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM