If you are working with files and directories in Python, sometimes you ask these question:
- What is the best way to list all files and directories in Python
- How can I add all the files in a List in Python
- How can I add all the directories in a List in Python
- How to visit all the files in a directory in Python
Here I’ll show some example that answers above questions.
List all files and directories in Python
You can use
os.listdir(), if you want to list all the files and directories. This function is very useful and efficient. It will give you everything that is in the directory (including files and directories). This function even includes hidden files and files with only extnsion and no filenames. Here is a syntax to use
import os dir_n_files = os.listdir() print(dir_n_files)
Now, you can same function in Python 2.7 but there is a small difference. For Python 2, you have to pass the folder name as an argument. Here is the syntax for Python 2.7. Here ‘
.' means look for files and folders in current directory.
import os dir_n_files = os.listdir('.') print(dir_n_files)
Add only files in a List
If you want to create a list of files in a folder, you can use glob package. It parse files in the folder and returns list. It also takes parameter, which is helpful in filtering out unwanted files.
For example if you have 100s of files in a folder and they are of mix extension. You want to write a Python script that should only list
.json files. you can pass a parameter to list only
.json files. Here is the syntax.
import glob json_files = glob.glob("*.json") print(json_files)
Now if you want to add all 100 files in a list, you can just change the parameter from