subprocess.run can execute shell commands directly#
I often run shell commands in Python via the
One thing that has always bugged me is that this required you to split commands into a list before it’d work properly.
For example, you’d have to do:
import subprocess import shlex subprocess.run(*shlex.split("ls -l"))
Today I discovered that you don’t have to do this!
shell= keyword that can be used to tell subprocess to simply run the command directly in the shell.
import subprocess subprocess.run("ls -l", shell=True)
Apparently there are some security considerations but this seems like a big papercut saver to me.
Fix phantom GitHub workflows in your ci-cd with protected branch rules Automatically update pre-commit hook versions