Módulo de subprocesso do Python retornando resultados diferentes do shell Unix

Estou tentando obter uma lista dos arquivos CSV em um diretório com python. Isso é realmente fácil no unix:

ls -l *.csv

E, previsivelmente, recebo uma lista dos arquivos que terminam com .csv no meu diretório. No entanto, quando tento o equivalente em Python usando o módulo Subprocess:

>>> import subprocess as sp
>>> sp.Popen(["ls", "-l", "*.csv"], stdout = sp.PIPE)
<subprocess.Popen object at 0xb780e90c>
>>> ls: cannot access *.csv: No such file or directory

Alguém pode explicar o que está acontecendo?

Editar: Adicionandoshell = True remove o erro, mas em vez de obter uma lista apenas de arquivos CSV, recebo uma lista detudo os arquivos no diretório

questionAnswers(4)

yourAnswerToTheQuestion