как скопировать несколько файлов в разные места назначения на основе имени папки в python - PullRequest
0 голосов
/ 23 марта 2020

У меня есть python скрипт, который выводит каталог для пути и копирует 3 типа файлов в 3 разных места назначения.

  • pdf файлы в dest 1
  • pdf файлы, которые внутри папки "pdf-21-22-3-2020"
  • word files

Так что скрипт сначала проверит путь и выведет список всех каталогов и файлов. проблема заключается в том, что при попытке проверить папку pdf-21-22-3-2020 она не копирует существующие файлы.

    def copy(src):

        #name = folder pdf yesterday + today
        datefile = "pdf " + str(yesterday()) + date.today().strftime("-%d-%m-%Y")
        src2 = os.path.join(src, datefile)


        for dirpath, dirnames, files in os.walk(src):

            print(f'Found directory: {dirpath}')
            if len(dirnames)==0 and len(files)==0:
                    print("this directory is empty")
            else:
                print(files)

                for file in files:
                    full_file_name = os.path.join(dirpath, file)
                    for d in dirnames:
                    #check for pdf extension
                        if file.endswith("pdf")and os.path.join(dirpath, d)!= datefile:
                            #copy files
                            shutil.copy(full_file_name, dst2)
                         elif file.endswith("pdf")and os.path.join(dirpath, d)== datefile:
                             print("the files inside {0} are copiyed to  {1}".format(file,dst))
                             #copy files
                             shutil.copy(full_file_name, dst)
                            #check for doc & docx extension 
                        elif file.endswith("docx") or file.endswith("doc"):
                            #copy files
                            shutil.copy(full_file_name, dst3)
                print("*******number of directories = {}".format(len(dirnames)))
                print("*******number of files = {}".format(len(files)))

  def main():
     copy("j:\")

if __name__=="__main__":
    main()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...