1
resposta

expressão regexp para iterar em sistemas com

Eu posso usar o .* do módulo re em uma variável para me referir a todas as extensões em um SO??

ext = (".*")
def listdir():
    for f in os.scandir():
1 resposta

Olá, Andre.

Tudo bem?

Você pode usar expressões regulares (regexp) com o módulo re do Python para buscar arquivos com determinadas extensões. No entanto, o .* sozinho não é suficiente para filtrar por extensões específicas, pois ele corresponde a qualquer sequência de caracteres. Se você quiser listar arquivos com qualquer extensão, o .* pode funcionar, mas geralmente você vai querer especificar um padrão mais preciso.

Aqui está um exemplo de como você pode listar arquivos com qualquer extensão usando o módulo re e os:

import os
import re

# Padrão para qualquer extensão
pattern = re.compile(r'.*\..*')

def listdir():
    for entry in os.scandir():
        if entry.is_file() and pattern.match(entry.name):
            print(entry.name)

listdir()

Neste exemplo, .*\..* é a expressão regular que corresponde a qualquer nome de arquivo que contenha um ponto seguido de qualquer sequência de caracteres (ou seja, qualquer extensão).

Se você quiser especificar extensões específicas, você pode ajustar o padrão. Por exemplo, para listar apenas arquivos .txt e .pdf:

import os
import re

# Padrão para .txt e .pdf
pattern = re.compile(r'.*\.(txt|pdf)$')

def listdir():
    for entry in os.scandir():
        if entry.is_file() and pattern.match(entry.name):
            print(entry.name)

listdir()

Seria isso? Qualquer coisa manda aqui.

Espero ter ajudado e bons estudos!