Kiv Kiv - 6 months ago 10
Python Question

Passing arguments with DOS wildcards to a Python script

I want to do something like this:

c:\data\> python *.csv

and pass all of the .csv files in the directory to my python script (such that
["file1.csv", "file2.csv"]
, etc.)

just receives
indicating that the wildcard was not expanded, so this doesn't work.

I feel like there is a simple way to do this, but can't find it on Google. Any ideas?


You can use the glob module, that way you won't depend on the behavior of a particular shell (well, you still depend on the shell not expanding the arguments, but at least you can get this to happen in Unix by escaping the wildcards :-) ).

from glob import glob
filelist = glob('*.csv') #You can pass the sys.argv argument