Python - Librerías Token & Tokenize

#20 ejemplos de cómo utilizar el módulo token en Python: #1. Importar el módulo token: import token #2. Obtener una lista de todos los tokens en un archivo de Python: import tokenize with open('archivo.py') as f: tokens = tokenize.tokenize(f.readline) print(tokens) #3. Obtener una lista de todos los tokens en una cadena de Python: import tokenize codigo_fuente = "print('Hola, mundo!')" tokens = tokenize.tokenize(codigo_fuente) print(tokens) #4. Obtener el valor numérico de un token: import tokenize tokens = tokenize.tokenize("x = 5") valor = tokens[2][1] print(valor) ######################################################## #5. Obtener el tipo de un token: import tokenize tokens = tokenize.tokenize("x = 5") tipo = tokenize.tok_name[tokens[1][0]] print(tipo) #6. Obtener una lista de todos los nombres de tokens: import tokenize nombres_tokens = [tokenize.tok_name[i] for i in range(256)] #7. Obtener una lista de todos los nombres de tokens que comienzan con 'NAME': import token nombres_tokens = [name for name in token.tok_name.values() if name.startswith('NAME')] #8. Obtener una lista de todos los nombres de tokens que comienzan con 'OP': import token nombres_tokens = [name for name in token.tok_name.values() if name.startswith('OP')] #9. Obtener una lista de todos los nombres de tokens que comienzan con 'STRING': import token nombres_tokens = [name for name in token.tok_name.values() if name.startswith('STRING')] #10. Obtener una lista de todos los nombres de tokens que comienzan con 'NUMBER': import token nombres_tokens = [name for name in token.tok_name.values() if name.startswith('NUMBER')] #11. Obtener una lista de todos los nombres de tokens que comienzan con 'NEWLINE': import token nombres_tokens = [name for name in token.tok_name.values() if name.startswith('NEWLINE')] #12. Obtener una lista de todos los nombres de tokens que comienzan con 'INDENT': import token nombres_tokens = [name for name in token.tok_name.values() if name.startswith('INDENT')] #13. Obtener una lista de todos los nombres de tokens que comienzan con 'DEDENT': import token nombres_tokens = [name for name in token.tok_name.values() if name.startswith('DEDENT')] #14. Obtener una lista de todos los nombres de tokens que comienzan con 'ENDMARKER': import token nombres_tokens = [name for name in token.tok_name.values() if name.startswith('ENDMARKER')] #15. Obtener una lista de todos los nombres de tokens que comienzan con 'COMMENT': import token nombres_tokens = [name for name in token.tok_name.values() if name.startswith('COMMENT')] #16. Obtener una lista de todos los nombres de tokens que comienzan con 'NL': import token nombres_tokens = [name for name in token.tok_name.values() if name.startswith('NL')] #17. Obtener una lista de todos los nombres de tokens que comienzan con 'ERRORTOKEN': import token nombres_tokens = [name for name in token.tok_name.values() if name.startswith('ERRORTOKEN')] #18. Obtener una lista de todos los nombres de tokens que comienzan con 'OP': import token nombres_tokens = [name for name in token.tok_name.values() if name.startswith('OP')] #19. Obtener una lista de todos los nombres de tokens que comienzan con 'ASYNC': import token nombres_tokens = [name for name in token.tok_name.values() if name.startswith('ASYNC')] #20. Obtener una lista de todos los nombres de tokens que comienzan con 'AWAIT': import token nombres_tokens = [name for name in token.tok_name.values() if name.startswith('AWAIT')]
################################################################## #10 ejemplos de cómo utilizar el módulo tokenize en Python: #1. Leer un archivo de código fuente en Python y convertirlo en una secuencia de tokens: import tokenize with open('archivo.py') as f: tokens = tokenize.generate_tokens(f.readline) for token in tokens: print(token) #2. Leer un archivo de código fuente en Python y convertirlo en una lista de tokens: import tokenize with open('archivo.py') as f: tokens = list(tokenize.generate_tokens(f.readline)) print(tokens) #3. Leer un archivo de código fuente en Python y contar el número de tokens: import tokenize with open('archivo.py') as f: tokens = tokenize.generate_tokens(f.readline) count = sum(1 for _ in tokens) print(count) #4. Leer un archivo de código fuente en Python y #contar el número de tokens de un tipo específico (por ejemplo, identificadores): import tokenize with open('archivo.py') as f: tokens = tokenize.generate_tokens(f.readline) count = sum(1 for token in tokens if token.type == tokenize.NAME) print(count) #5. Leer un archivo de código fuente en Python y obtener una lista de identificadores: import tokenize with open('archivo.py') as f: tokens = tokenize.generate_tokens(f.readline) identifiers = [token.string for token in tokens if token.type == tokenize.NAME] print(identifiers) #6. Leer un archivo de código fuente en Python y obtener una lista de cadenas de texto: import tokenize with open('archivo.py') as f: tokens = tokenize.generate_tokens(f.readline) strings = [token.string for token in tokens if token.type == tokenize.STRING] print(strings) #7. Leer un archivo de código fuente en Python y obtener una lista de números: import tokenize with open('archivo.py') as f: tokens = tokenize.generate_tokens(f.readline) numbers = [token.string for token in tokens if token.type == tokenize.NUMBER] print(numbers) #8. Leer un archivo de código fuente en Python y obtener una lista de operadores: import tokenize with open('archivo.py') as f: tokens = tokenize.generate_tokens(f.readline) operators = [token.string for token in tokens if token.type == tokenize.OP] print(operators) #9. Leer un archivo de código fuente en Python y obtener una lista de palabras clave: import tokenize with open('archivo.py') as f: tokens = tokenize.generate_tokens(f.readline) keywords = [token.string for token in tokens if token.type == tokenize.NAME and token.string in tokenize.keywords] print(keywords) #10. Leer un archivo de código fuente en Python y obtener una lista de comentarios: import tokenize with open('archivo.py') as f: tokens = tokenize.generate_tokens(f.readline) comments = [token.string for token in tokens if token.type == tokenize.COMMENT] print(comments)

Geogebra Python