0 / 0 / 0
Регистрация: 03.02.2021
Сообщений: 1

P tqdm и shutil copy tree - отображение процесса

03.02.2021, 17:51. Показов 2248. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пытаюсь понять как отобрать процесс копирования файлов в tqdm и вывести его на tkinker

вот код
---------------

Добавлено через 6 минут
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
from tkinter import *   # импорт не всей бибилиотеки, а только её части
from tkinter.ttk import Progressbar
from tkinter import filedialog
from tkinter import messagebox as mb
from tkinter import ttk
from tkinter import Menu
import os
import shutil
from time import*
from time import sleep
import time
from tqdm import tqdm,tqdm_gui,trange
 
 
def openfile(): #открытие файла
   os.startfile("text.txt", 'edit')
 
 
window = Tk()
window.title("Добро пожаловать в копировщик файлов")
window.geometry('600x300')   # размер окна на старте
 
 
menu = Menu(window)  # добавили меню с разделами
new_item = Menu(menu)
new_item.add_command(label='Справка',command=openfile)
# названия подразделов отдела Справка с разеделением на разделы
 
new_item.add_command(label="Выход", command = window.quit)
menu.add_cascade(label='Справка', menu=new_item)  # название основного раздела ( отдела )
window.config(menu=menu)
 
 
lbl = Label(window, text="Выбрать директорию")  # виджет текст - надпись
lbl.grid(column=0, row=0)  # место виджета
lbl = Label(window, text="Итоговая директория")  # виджет текст однострочный прст слова
lbl.grid(column=0, row=2)  # место виджета ( где будет распологаться)
 
 
BB = StringVar()
BB.set("C:/")# отображаемый в строке базовый путь
txt1 = Entry(window, width=30, textvariable = BB)    # поле ввода однострочное
txt1.grid(column=1, row=0)
EntryString = txt1.get()
 
BB1 = StringVar()
BB1.set("C:/")# задавание базового пути ( дописать и разобрать )
txt2 = Entry(window, width=30, textvariable = BB1)  # поле ввода однострочное
txt2.grid(column=1, row=2)
EntryString1 = txt2.get()  # присваиваем ES путь с строке для ссыльная при копировнии
 
 
def clicked():
    txt1.delete(0, END)
    txt1.insert(0, filedialog.askdirectory())
 
btn = Button(window, text="Нажать для выбора пути", command=clicked)    #кнопка
btn.grid(column=2, row=0)
 
 
def clicked1():
    txt2.delete(0, END)
    txt2.insert(0, filedialog.askdirectory()+"/Новая папка")
 
btn2 = Button(window, text="Нажать для выбора пути", command=clicked1) #кнопка
btn2.grid(column=2, row=2)
 
 
def clicked2():
   lbl.configure(shutil.copytree(txt1.get(), txt2.get(), symlinks=False, ignore=None))  # кнопка с итогом нажатия
   for i in tqdm(total = 300, desc='Копирование', unit='файлы', leave=True):
       sleep(.05)
 
btn7 = Button(window, text="Начать копирование", command=clicked2)
btn7.grid(column=0, row=3)
 
 
def show_paths(): # отобразит выбранные пути в отдельном окне
    answer = mb.showinfo(
        title="Информация о путях",
        message=f"Path 1: {txt1.get()}\nPath 2: {txt2.get()}")
btn_show_paths = Button(window, text="Показать выбранные пути", command=show_paths)
btn_show_paths.grid(column=0, row=4)
 
 
def clear_text(): # очистка путей до базовых
    txt1.delete(0, END)
    txt1.insert(0,"C:/")
    txt2.delete(0, END)
    txt2.insert(0, "C:/")
 
btn7 = Button(window, text="Очистка строк", command=clear_text)
btn7.grid(column=2, row=3)
 
 
 
lbl = Label(window, text="Прогресс:")  # виджет текст
lbl.grid(column=0, row=10)  # место виджета
 
 
style = ttk.Style()
style.theme_use('default')
style.configure("black.Horizontal.TProgressbar", background='black')
bar = Progressbar(window, length=100, style='black.Horizontal.TProgressbar')
bar.start(interval=1)
bar.grid(column=1, row=10)
 
 
#for i in tqdm(range (100), desc = 'Копирование', unit='файлы', leave=True):
   # sleep(.05)
#tqdm.grid(colum=2,row=12)
 
window.mainloop()
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.02.2021, 17:51
Ответы с готовыми решениями:

Отображение Tree в выдвигающейся панели
Добрый день, форумчане! Проблема в следующем. На основе библиотеки BootSideMenu создал выдвигающующуюся панель. В неё добавил дерево...

Пример функции для изменения региона защиты памяти процесса с Read Only на Write Copy
будьте добры привести пример функции для изменения региона защиты памяти процесса с Read Only на Write Copy VirtualAlloc - не подходит

Отображение прогресса исполнения для команды copy
Здравствуйте. Вставьте пожалуйста эту команду в прогресс бар какой нибудь. Примеров на форуме куча. Не могу понять куда ее воткнуть. copy...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.02.2021, 17:51
Помогаю со студенческими работами здесь

D&d tree to grid. remove record with children from tree
Мне нужно чтобы, когда я переношу из дерева в грид record с leaf = false -все дети этой записи удалились Я использую этот код в...

Определите отношение ordered(+Tree), выполненное, если дерево Tree является упорядоченным деревом целых чисел
Доброго времени суток. Напишите решение задачи в SWI Prologe. Определите отношение ordered(+Tree), выполненное, если дерево Tree является...

Проблема с shutil.move
Добрый день. Возникла проблема в перемещении файл. Какая-то ошибка в названии пути. Запускается программа из системного...

pip osError no tqdm.deleteme
При использовании команды pip install. возникает ошибка Как её победить?

K-d tree, k-dimensional tree k-мерное дерево
У меня стоит задача реализовать k мерное дерево :...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru