Estoy ejecutando Python 3.9.7 y estoy creando un visor / descargador de información de video de YouTube. Sin la declaración de coincidencia, el código funciona bien y no tiene ningún error relacionado con la falta de paréntesis. Una cosa interesante es que Atom no muestra la coincidencia con ningún color en mi código, sin embargo, parece que no lo hace en un archivo en blanco con solo la coincidencia de todos modos.
# 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)Editar: lo estoy ejecutando en la terminal
Tuve que instalar python3.10 desde python.org porque la coincidencia de capturas solo se agregó en python 3.10
Cuando obtenga un error de sintaxis no válida en la declaración de coincidencia, verifique que tenga instalado al menos Python 3.10 , ya que esta es la versión que se lanzó.
Puedes comprobar tu versión actual
cmd
python -Vpitón
import sys print(sys.version) Instale la última versión de python (Windows)
Descargar instalador: https://www.python.org/downloads/
o
Actualización achocolatada
cmd instale chocolatey si aún no lo ha hecho (péguelo en el shell de administración)
@"%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"Actualizar la versión de Python (3.x)
choco upgrade python3 --pre Fuentes:
https://www.delftstack.com/howto/python/how-to-update-python/
https://www.python.org/descargas/
https://docs.chocolatey.org/en-us/choco/setup#install-with-cmd.exe