Python Sous-processus Grep

J'essaie d'utiliser la commande grep dans un script python à l'aide de la sous-processus module.

Voici ce que j'ai:

userid = 'foo12'
p = subprocess.Popen(['grep', "%s *.log"%userid], stdout=subprocess.PIPE)

Et elle ne retourne rien.
Je ne suis pas entièrement sûr de ce que je fais de mal si quelqu'un peut expliquer. La méthode actuelle que j'utilise que des œuvres se fait par l'ajout du shell=true qui provoque la sortie de la sortie correcte mais comme les pages d'aide, ont souligné qu'il est dangereux. J'ai besoin d'aide pour essayer de faire ce travail pour que mon script n'est pas dangereux.

source d'informationauteur Jason Zhu