Search code examples
pythonfile

Choose a file starting with a given string


In a directory I have a lot of files, named more or less like this:

001_MN_DX_1_M_32
001_MN_SX_1_M_33
012_BC_2_F_23
...
...

In Python, I have to write a code that selects from the directory a file starting with a certain string. For example, if the string is 001_MN_DX, Python selects the first file, and so on.

How can I do it?


Solution

  • Try using os.listdir,os.path.join and os.path.isfile.
    In long form (with for loops),

    import os
    path = 'C:/'
    files = []
    for i in os.listdir(path):
        if os.path.isfile(os.path.join(path,i)) and '001_MN_DX' in i:
            files.append(i)
    

    Code, with list-comprehensions is

    import os
    path = 'C:/'
    files = [i for i in os.listdir(path) if os.path.isfile(os.path.join(path,i)) and \
             '001_MN_DX' in i]
    

    Check here for the long explanation...