Here are some links on this topic: https://www.pythonforbeginners.com/system/python-sys-argv https://www.tutorialspoint.com/python/python_command_line_arguments.htm Basically command line arguments are strings after the program name in a command line call to an executable For instance: $ echo "rinderpest kills cattle" makes a call to the executable called 'echo' which just prints out the arguments it receives. In this case we pass in one command line argument, namely the string "rinderpest kills cattle". Some executables take many arguments. For example: $ touch a lonely broccoli makes a call to the executable called 'touch' which can be used to create files. The command should have created three files: a, lonely, and broccoli. You can see them like this: $ ls (This will print the files in the current directory) Another kind of command line argument is to provide "options" to a command. For instance $ ls -ltrc This calls the ls command with three options: l,t,r, and c. You can see what each of these options does by looking at the documentation: $ man ls We will not make use of it, but there is a python module which automatically parses command line input into, for example, files and options. It is described in the second link given above. Now play around with the script cmd_arg.py Look at the code. Try $ ./cmd_arg.py $ ./cmd_arg.py hwy 2 heck