我的 Python 脚本中的语法错误在哪里?

Where is the syntax error in my Python Script?

我正在尝试为密码记录器程序制作 GUI。现在我只是想学习如何制作 GUI,但只有十行,我的程序不会 运行 因为假定的语法错误。

import tkinter as tk
from tkinter import filedialog, Text
import os

root = tk.Tk()

canvas = root.Canvas(root, height=700, width=700, bg="#263d42")
canvas.pack()

root.mainloop()

这是整个脚本。错误如下所示:

File "<stdin>", line 1 & c:/FileLocation/main.py"
                                              ^
SyntaxError: invalid syntax

我试过删除不必要的导入,但我遇到了同样的问题。

我只是想让程序在屏幕上显示 canvas。

看起来你的问题是你试图从 Python 解释器中 运行 python main.py,这就是你看到回溯的原因。

确保您不在翻译中:

exit()

然后 运行 python main.py 来自 bash 或命令提示符或其他命令的命令。

像这样调用 python 脚本:

PS C:\Users\sween\Desktop> python ./a.py

不是这样的:

PS C:\Users\sween\Desktop> python
Python 3.10.0 (tags/v3.10.0:b494f59, Oct  4 2021, 19:00:18) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> ./a.py
  File "<stdin>", line 1
    ./a.py
    ^
SyntaxError: invalid syntax

三个箭头 >>> 表示写入 Python 代码的位置,而不是文件名或路径。

为了更好的帮助,您可能需要提供您的 Python 版本。

对于Python 3.8,使用from tkinter import Tkfrom tkinter import *.

如果这没有解决您的问题,您的 tkinter 安装可能有问题。

我注意到的第一件事是您需要将 root.Canvas 换成 tk.Canvas

import tkinter as tk
from tkinter import filedialog, Text
import os

root = tk.Tk()

canvas = tk.Canvas(root, height=700, width=700, bg="#263d42")
canvas.pack()

root.mainloop()

尽管即使使用未经编辑的原始脚本,它也没有导致语法错误,而是 canvas 的属性错误。我在 Pycharm 工作,我假设你在命令行工作?看起来你是来自解释器的 运行 main.py,你应该可以使用 exit() 来解决。 The post linked here goes into more detail on that.

您的语法错误在第 6 行:

而不是:

canvas = root.Canvas(root, height=700, width=700, bg="#263d42")

尝试:

canvas = Canvas(root, height=700, width=700, bg="#263d42")