Python: Looping through files in a different directory and scanning data
Question: I am having a hard time looping through files in a directory that is different
from the directory where the script was written. I also ideally would want my
script through go to through all files that start with sasa. There are a
couple of files in the folder such as sasa.1, sasa.2 etc... as well as other
files such as doc1.pdf, doc2.pdf

**I use Python Version 2.7 with windows Powershell**

**Locations of Everything**

1) Python Script Location ex: `C:Users\user\python_project`

2) Main_Directory ex: `C:Users\user\Desktop\Data`

3) Current_Working_Directory ex: `C:Users\user\python_project`

Main directory contains 100 folders (folder A, B, C, D etc..) Each of these
folders contains many files including the sasa files of interest.

**Attempts at running script**

For 1 file the following works:

Script is run the following way: `python script1.py`

    
    
    file_path = 'C:Users\user\Desktop\Data\A\sasa.1
    
    def writing_function(file_path):
        with open(file_path) as file_object:
            lines = file_object.readlines()
    
    for line in lines:
    print(lines)
    
    writing_function(file_path)  
    

However, the following does not work

Script is run the following way: `python script1.py A sasa.1`

    
    
    import os
    import sys
    from os.path import join
    
    dr = sys.argv[1]
    file_name = sys.argv[2]
    
    file_path = 'C:Users\user\Desktop\Data'
    new_file_path = os.path.join(file_path, dr)
    new_file_path2 = os.path.join(new_file_path, file_name)
    
    def writing_function(paths):
        with open(paths) as file_object:
            lines = file_object.readlines()
    
    for line in lines:
        print(line)
    
    writing_function(new_file_path2)
    

I get the following error:

`with open(paths) as file_object:`  
`IO Error: [Errno 2] No such file or directory:`  
`'C:Users\\user\\Desktop\\A\\sasa.1'`

Please note right now I am just working on one file, I want to be able to loop
through all of the sasa files in the folder.


Answer: It can be something in the line of:

    
    
    import os
    from os.path import join
    
    def function_exec(file):
        code to execute on each file
    
    for root, dirs, files in os.walk('path/to/your/files'): # from your argv[1]
        for f in files:
            filename = join(root, f)
            function_exec(filename)
    

Avoid using the variable `dir`. it is a python keyword. Try `print(dir(os))`

    
    
    dir_ = argv[1] # is preferable 
    

