Python SyntaxError:标识符第12行中的字符无效
我试图做一个下拉菜单,并连接到一个数据库,但我得到上述错误。它说错误发生在第12行。这段代码可以在我朋友的IDE上运行,但不能在我的IDE上运行,我正在使用PyCharm IDE。我还尝试在IDE上使用“重新格式化代码”函数。以下是确切的错误:Python SyntaxError:标识符第12行中的字符无效,python,sqlite,syntax,Python,Sqlite,Syntax,我试图做一个下拉菜单,并连接到一个数据库,但我得到上述错误。它说错误发生在第12行。这段代码可以在我朋友的IDE上运行,但不能在我的IDE上运行,我正在使用PyCharm IDE。我还尝试在IDE上使用“重新格式化代码”函数。以下是确切的错误: File "/Users/hetparikh/PycharmProjects/BudCalculator/test.py", line 12 'Food', ^ SyntaxError: invalid character
File "/Users/hetparikh/PycharmProjects/BudCalculator/test.py", line 12
'Food',
^
SyntaxError: invalid character in identifier
代码是
from tkinter import *
import sqlite3 as sq
import datetime
# Connect to SQLite
con = sq.connect('spent.db')
root = Tk()
# Options in dropdown menu
options = [
'Food',
'Transportation',
'Entertainment',
'Misc'
]
clicked = StringVar()
clicked.set('Expense')
drop = OptionMenu(root, clicked, *options, )
drop.grid(row=0, column=2, padx=20)
def SaveExpenseType():
c = con.cursor()
c.execute('CREATE TABLE IF NOT EXISTS CAR (sql_date VARCHAR(20), sql_clicked VARCHAR(20) NOT NULL)')
today = str(datetime.date.today())
today = today[8:] + '-' + today[5:7] + '-' + today[:4]
c.execute('INSERT INTO CAR (sql_date, sql_clicked) VALUES (?, ?)', (today, clicked.get()))
con.commit()
def query():
conn = sq.connect('spent.db')
c = conn.cursor()
c.execute("SELECT *, oid FROM car")
records = c.fetchall()
print(records)
conn.commit()
conn.close()
query_btn = Button(root, text="Show Records", command=query)
query_btn.grid(row=7, column=0, columnspan=2, pady=10, padx=10, ipadx=137)
carB = Button(root, text="Enter", command=SaveExpenseType)
carB.grid(row=1, column=2)
root.mainloop()
尝试使用双引号存储选项的值。请回答您的问题,并将准确的错误消息及其堆栈跟踪粘贴到您的问题中。您使用的是什么版本的Python?您的朋友使用的是同一版本吗?使用
c=con.cursor()
语句修复缩进错误后,此程序加载正常-没有语法错误。其中可能有一个非ascii字符,在不同的机器上进行不同的解码。你能把周围的几行作为bytes对象发布吗?open(“test.py”,“rb”).readlines()[10:14]
?单引号和双引号都可以。在修复了几个不相关的缩进错误后,为我加载的代码没有语法错误。@HetParikh-indef SaveExpenseType():
第一行缩进了8个空格,而下面是4个空格。使用4个空格(没有标签!)是最受欢迎的样式。