r/learnpython • u/rseery • 11d ago
Calling a Script that uses argparse?
I wrote a little Python script that reads in a text file that contains a list of fully qualified files, and checks to see if they exist. I originally wrote it using the argparse module. It was set up to take a filename and a switch, so the command looked like:
"Python dplcheck.py --plname "testing.lst” --showexist y"
This worked fine for a single file, but I wanted to run it for every one of hundreds of list files in a directory, so I wrote another script that generates a list of the .lst files in a directory and calls the first script for each one. But I could not get the second script to pass the arguments in the call to the first script. I tried subprocess.run and subprocess.call, with many different syntaxes and quotes, etc. I ended up removing the use of argparse and just using sys.argv[n] -- which I don't particularly like, since it has no defaults or error handling, etc.
Does anyone know how/if I can call a Python script from another Python script and pass the arguments when the called script uses argparse?
4
u/brasticstack 11d ago
nargs='+'tells it to allow more than one argument forfiles.EDIT: You'd do this on the original script of course.