se7en
se7en

Reputation: 880

How to search only subdirectory for csv files

I am trying to find csv files located in different folders my working directory. i also have csv files in my working directory

if i do

path = "./directory/src_folder"
csv_files = glob.glob(path + "/**/*.csv", recursive = True)
print(csv_files)

OUTPUT
['./directory/src_folder/src_file1.csv',
['./directory/src_folder/src_file2.csv', 
'./directory/src_folder/subdirectory1/subdirectory_file.csv',
'./directory/src_folder/subdirectory2/subdirectory_file.csv'
'./directory/src_folder/subdirectory3/subdirectory_file.csv',]

However I want to only search the subdirectories which means it should exclude the files in the working directory.

DISERABLE OUTPUT
['./directory/src_folder/subdirectory1/subdirectory_file.csv',
'./directory/src_folder/subdirectory2/subdirectory_file.csv'
'./directory/src_folder/subdirectory3/subdirectory_file.csv',]

Upvotes: 0

Views: 514

Answers (2)

vegabondx
vegabondx

Reputation: 71

** basically recurses over folders and subfolders ( and also file present in the path directly ). You can explicitly specify depth as follows

   glob.glob(path + "/*/*.csv", recursive = True)

Upvotes: 3

imdevskp
imdevskp

Reputation: 2233

Loop through and remove files in the directory

csv_files = glob.glob(path + "/**/*.csv", recursive = True)
csv_files_to_remove = glob.glob(path + "/**/*.csv")

for i in csv_files:
  if file in csv_files_to_remove:
    csv_files.remove(file)

Upvotes: 1

Related Questions