Shell Interaction in Python: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 6: Line 6:
[[Python_Language_Modularization#Standalone_Program|Standalone Python programs]] often needs to handle command line arguments.
[[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.  
 
The path of the script being executed is available on position 0.
 
<syntaxhighlight lang='python'>
<syntaxhighlight lang='python'>
import sys
import sys

Revision as of 22:54, 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.

The path of the script being executed is available on position 0.

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