Search code examples
python-3.xsys

Does the following program access a file in a subfolder of a folder?


using

import sys

folder = sys.argv[1]
for i in folder:
    for file in i:
        if file == "test.txt":
            print (file)

would this access a file in the folder of a subfolder? For Example 1 main folder, with 20 subfolders, and each subfolder has 35 files. I want to pass the folder in commandline and access the first subfolder and the second file in it


Solution

  • Here's a short example using the os.walk method.

    import os
    import sys
    
    
    input_path = sys.argv[1]
    filters = ["test.txt"]
    print(f"Searching input path '{input_path}' for matches in {filters}...")
    
    
    for root, dirs, files in os.walk(input_path):
        for file in files:
            if file in filters:
                print("Found a match!")
                match_path = os.path.join(root, file)
                print(f"The path is: {match_path}") 
    

    If the above file was named file_finder.py, and you wanted to search the directory my_folder, you would call python file_finder.py my_folder from the command line. Note that if my_folder is not in the same directory as file_finder.py, then you have to provide the full path.