Shell Interaction in Python: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 21: Line 21:
{{External|https://janakiev.com/blog/python-shell-commands/}}
{{External|https://janakiev.com/blog/python-shell-commands/}}
{{External|https://amoffat.github.io/sh/}}
{{External|https://amoffat.github.io/sh/}}
==Execute an O/S Command with the <tt>subprocess</tt> Module==


=Organizatorium=
=Organizatorium=

Revision as of 21:26, 2 March 2022

Internal

Command Line Argument Processing

sys.argv is the list containing arguments as strings. On the position 0 is the full path of the script being executed.

import sys

def main():
  print(f"Arguments count: {len(sys.argv)}")
  for i, arg in enumerate(sys.argv):
    print(f"Argument {i:>6}: {arg}")

if __name__ == '__main__':
  main()

Execute an O/S Command

https://janakiev.com/blog/python-shell-commands/
https://amoffat.github.io/sh/

Execute an O/S Command with the subprocess Module

Organizatorium

from shutil import which

commands={
  "aws":                "awscli",
  "aws-login":          "aws-login",
  "aws-eks-configure":  "aws-eks-configure"
}
for c in commands:
  print("{:20}{:7}".format(commands[c], "OK" if which(c) else "missing"))