【问题标题】:Match case invalid syntax, but no syntax error without match code匹配大小写无效语法,但没有匹配代码没有语法错误
【发布时间】:2022-07-02 10:45:41
【问题描述】:

我正在运行 python 3.9.7 并正在制作一个 youtube 视频信息查看器/下载器。如果没有 match 语句,代码运行良好,并且没有任何与缺少括号有关的错误。有趣的是,Atom 在我的代码中没有显示与任何颜色的匹配,但它似乎不会在只有匹配的空白文件中这样做。

# A youtube info and downloader
import getpass

from pytube import YouTube
from pathlib import Path

username = getpass.getuser()
downloads_path = str(Path.home() / "Downloads")

# Create video object
link = input("Enter video link (Don't forget https://): ")
video_object = YouTube(link)

# Print info
print(f"Title:  {video_object.title}")
print(f"Length: {round(video_object.length / 60, 2)} minutes")
print(f"Views:  {round(video_object.views / 1000000, 2)} million")
print(f"Author: {video_object.author}")

# Download
print("Download: (b)est | (w)orst | (a)udio | (e)xit")
download_choice = input(f"{username} $ ")

match download_choice:
    case: "b":
        video_object.streams.get_highest_resolution().download(downloads_path)

    case: "w":
        video_object.streams.get_worst_resolution().download(downloads_path)

    case: "a":
        video_object.streams.get_audio_only().download(downloads_path)

编辑: 我在终端运行它

【问题讨论】:

    标签: python syntax youtube switch-statement match


    【解决方案1】:

    我不得不从 python.org 安装 Python 3.10,因为匹配只在 Python 3.10 中添加。

    【讨论】:

    【解决方案2】:

    当匹配语句出现无效语法错误时,检查您是否至少安装了 python 3.10,因为这是它发布的版本。

    您可以查看当前版本

    命令

    python -V
    

    蟒蛇

    import sys
    print(sys.version)
    

    安装最新版本的 python (Windows)
    下载安装程序:https://www.python.org/downloads/

    巧克力更新
    cmd 安装 Chocolatey(如果尚未安装)(粘贴到 admin shell)

    @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "[System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
    

    更新python版本(3.x)

    choco upgrade python3 --pre
    

    来源:
    https://www.delftstack.com/howto/python/how-to-update-python/
    https://www.python.org/downloads/
    https://docs.chocolatey.org/en-us/choco/setup#install-with-cmd.exe

    【讨论】:

      猜你喜欢
      • 2023-01-06
      • 2016-07-30
      • 1970-01-01
      • 1970-01-01
      • 2021-05-15
      • 1970-01-01
      • 2020-07-25
      • 1970-01-01
      相关资源
      最近更新 更多