Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python SyntaxError:标识符第12行中的字符无效_Python_Sqlite_Syntax - Fatal编程技术网

Python SyntaxError:标识符第12行中的字符无效

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

我试图做一个下拉菜单,并连接到一个数据库,但我得到上述错误。它说错误发生在第12行。这段代码可以在我朋友的IDE上运行,但不能在我的IDE上运行,我正在使用PyCharm IDE。我还尝试在IDE上使用“重新格式化代码”函数。以下是确切的错误:

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-in
def SaveExpenseType():
第一行缩进了8个空格,而下面是4个空格。使用4个空格(没有标签!)是最受欢迎的样式。