Q:

how to display each file in directory randomly once then display it again after i finish displaying all the file

this is a music player simulation instead of playing the song I will print the title  of each song I played and get the position of each file in the directory 
import os 
import sys 
import time 
import random 
import logging

# main: this is the main function of this Python
# def main(argv):
    count=c=1
    #make the program run for ever
    while True:
        #get the files from the comand line arguments 
        #check if the file end with mp3
        songs =  [f for f in os.listdir(sys.argv[1]) if f.endswith('.mp3')]
        #get the total number of files
        for (i, file) in enumerate(songs,1):
            #randamly select a song
            file = random.choice(songs)
            print ("{} ({},{}):playing file {}".format (count ,i , c ,file))
            count+=1
            #
            time.sleep(3)
        c+=1   

# begin gracefully
# if __name__ == "__main__":
    main(sys.argv)

A:

Really interesting problem, here's my attempt at answering your question:
import os
from pathlib import Path
import random
import time

# Searches for all files in all folders of a directory, returns a list of paths
def find_files(file_directory):
    file_list = list()
    for filepath, folder, files in os.walk(file_directory):
        file_list += list(Path(filepath)/file for file in files)
    return file_list

if __name__ == "__main__":
    play_music = True
    file_directory = r"C:\path\to\music_files"
    file_list = find_files(file_directory=file_directory)
    already_played = list()

    print("There are", len(file_list), "music files")
    while play_music:

        # Makes sure there are still songs that haven't been played
        if len(file_list) > 0:
            # randomly picks a file, find its position in the file list
            random_file = random.choice(file_list)
            random_file_index = file_list.index(random_file)

            # removes from the list and moves it to the already played list
            already_played.append(file_list.pop(random_file_index))

        else:
            print("No more songs left, refreshing list")
            file_list = find_files(file_directory=file_directory)

        print("Playing", random_file)

        time.sleep(1)

