Hello. There is a code that recursively walks the directory and prints all the paths in it.

import os def create_struct(): dirlst = os.walk(f'/home/dart/Загрузки') for (root, dirs, files) in dirlst: for dir in dirs: print(os.path.join(dir, root)) for file in files: print(os.path.join(file, root)) create_struct() 

For some reason, this code prints the same files and folders several times, as well as the very name of the directory that it bypasses.

 /home/dart/Загрузки /home/dart/Загрузки /home/dart/Загрузки /home/dart/Загрузки /home/dart/Загрузки /home/dart/Загрузки /home/dart/Загрузки /home/dart/Загрузки /home/dart/Загрузки /home/dart/Загрузки /home/dart/Загрузки /home/dart/Загрузки /home/dart/Загрузки /home/dart/Загрузки /home/dart/Загрузки /home/dart/Загрузки /home/dart/Загрузки /home/dart/Загрузки /home/dart/Загрузки /home/dart/Загрузки /home/dart/Загрузки /home/dart/Загрузки /home/dart/Загрузки /home/dart/Загрузки /home/dart/Загрузки /home/dart/Загрузки /home/dart/Загрузки /home/dart/Загрузки /home/dart/Загрузки /home/dart/Загрузки /home/dart/Загрузки /home/dart/Загрузки /home/dart/Загрузки /home/dart/Загрузки /home/dart/Загрузки /home/dart/Загрузки/khcp /home/dart/Загрузки/khcp /home/dart/Загрузки/khcp /home/dart/Загрузки/khcp /home/dart/Загрузки/khcp/api /home/dart/Загрузки/khcp/api /home/dart/Загрузки/khcp/api /home/dart/Загрузки/khcp/api 

Python version: 3.6

    1 answer 1

    You need to keep order in os.path.join :

     import os for root, dirs, files in os.walk(r'/home/dart/Загрузки'): for dir_name in dirs: print(os.path.join(root, dir_name)) for file_name in files: print(os.path.join(root, file_name)) 

    Repeating an error in a question:

     dir_name = r'C:\drive\my' file_name = 'foo.txt' import os print(os.path.join(dir_name, file_name)) # C:\drive\my\foo.txt print(os.path.join(file_name, dir_name)) # C:\drive\my