I am passing a single, positional argument string called FILE, but when no arguments are passed, I want it to print a usage statement.
Every time I write './files.py' in my command-line with no arguments after it, my code does nothing. What am I doing wrong?
import argparse
import re
#--------------------------------------------------
def get_args():
    """get arguments"""
    parser = argparse.ArgumentParser(
        description='Create Python script',
        formatter_class=argparse.ArgumentDefaultsHelpFormatter)
    parser.add_argument('FILE', help='Pass a file', type=str)
    return parser.parse_args()
#--------------------------------------------------
def main():
    """main"""
    args = get_args()
    FILE = args.FILE.IGNORECASE()
    if len(args) != 1:
        print("Usage: files.py {}".format(FILE))
        sys.exit(1)
# --------------------------------------------------
if __name__ == '__main__':
    main()
Expected outcome:
$ ./files.py
Usage: files.py FILE
What I am getting:
$./files.py
$
 
     
     
     
    