Как я могу отобразить статус удаления на экране? - PullRequest
0 голосов
/ 20 февраля 2020

Вы также можете думать об этом как о стирании диска или файла. Я не могу обновить статус транзакции во время выполнения процесса. он говорит, сколько в терминале, но я не могу дать его в качестве значения метки. Вы можете мне помочь?

import os
from tkinter import *
root=Tk()
yazi=Label(root,text="Transaction status:0/100")
yazi.pack()

def main(sektor):
    s=sektor-1
    yuzde=0
    yuzde_bir=int(sektor/100)
    kontrol_noktalari=yuzde_bir
    if os.name == "nt":
        print(read_sector(r"\\.\physicaldrive0",s-1))
        #wipe(r"\\.\physicaldrive0",s-1)
        print(read_sector(r"\\.\physicaldrive0",s-1))
    else:
        for i in range(s-1):
            yazi.after(100,main)
            if i == kontrol_noktalari:
                yuzde=yuzde+1
                kontrol_noktalari=kontrol_noktalari+yuzde_bir
                yazi.config(text="Transaction status:%s/100" %yuzde)
                print(yuzde)
            wipe("/dev/sdb",i)
        print("You have written zero everywhere")
def read_sector(disk, sector_no=0):
    f = open(disk, 'rb')
    f.seek(sector_no * 512)
    read = f.read(512)
    return read

def wipe(disk,sector_no=0):
    w= open(disk, 'wb')
    w.seek(sector_no*512)
    byte_arr = [0]
    binary_format = bytearray(byte_arr)
    for i in range(512):
        w.seek((sector_no*512)+i)
        w.write(binary_format)
    w.close()
sil=Button(root,text="Delete it sir",command=lambda :main(31205))
sil.pack()
root.mainloop()

Я выполнил процесс на linux, пока не могу сделать windows. будьте осторожны при попытке. Вы можете удалить свой диск SDB.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...