【问题标题】:Where is the syntax error in my Python Script?我的 Python 脚本中的语法错误在哪里?
【发布时间】:2022-01-13 19:35:36
【问题描述】:

我正在尝试为密码记录程序制作 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

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

我只是想让程序在屏幕上显示一个画布。

【问题讨论】:

  • 你是如何运行这个脚本的?

标签: python tkinter syntax


【解决方案1】:

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

确保您没有使用解释器:

exit()

然后从 bash 或命令提示符等运行 python main.py 命令。

【讨论】:

    【解决方案2】:

    像这样调用 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
    

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

    【讨论】:

      【解决方案3】:

      我注意到的第一件事是您需要将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()
      

      虽然即使使用原始的未经编辑的脚本,它也没有导致 SyntaxError,而是画布的 AttributeError。我在 Pycharm 工作,我的假设是你在命令行工作?看起来您正在从解释器中运行 main.py,您应该可以使用 exit() 来解决它。 The post linked here goes into more detail on that.

      【讨论】:

        【解决方案4】:

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

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

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

        【讨论】:

          【解决方案5】:

          您的语法错误在第 6 行:

          代替:

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

          试试:

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

          【讨论】:

          • 区别在哪里?
          猜你喜欢
          • 2014-11-10
          • 1970-01-01
          • 1970-01-01
          • 2016-09-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-30
          • 1970-01-01
          相关资源
          最近更新 更多