I want to be able to print a list of all file in a directory in linux but my code only print out the first item in the directory
inside home directory is text1.txt, text2.txt, text3.txt
sys.argv[1]
should be /home/*
when I run it on command line:
python fileName.py /home/*
Script:
def list_file(): listFile= glob.glob(sys.argv[1]) return listFile print list_file()
the output is only the first file in the directory
['text1.txt']
any idea? The code works fine on Windows but when I moved it to Linux, it doesn’t work anymore
Thanks
Advertisement
Answer
Since the shell expands the wildcard, you don’t need to call glob
. Just print all the arguments in sys.argv
def list_file(): return sys.argv[1:] print list_file()