Shell Interaction in Python: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 4: Line 4:


=Command Line Argument Processing=
=Command Line Argument Processing=
[[Python_Language_Modularization#Standalone_Program|Standalone Python programs]] often needs to handle command line arguments.


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

Revision as of 22:53, 19 June 2022

Internal

Command Line Argument Processing

Standalone Python programs often needs to handle command line arguments.

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

Execute an O/S Command with the subprocess Module

Execute an O/S Command with the subprocess Module

Other Methods

TO PROCESS:

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"))