账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    python tkinter 显示文件读取进度(多个文件)
    64
    0
    在网上搜了下 试着添加 读文件pytho tkinter 不显示进度,求助 win=tk.Tk() #u = 1:len(files) progress_bar = ttk.Progressbar(win, orient='horizontal', length=286, mode='determinate') progress_bar['maximum'] = len(files) for i in range(0,len(files)): progress_bar['value']=i progress_bar.update() time.sleep(0.05) tracepath = os.path.join(tracedir,files[i]) print(tracepath) print(files[i]) files_n = len(files) # process bar cal data = pd.read_csv(tracepath,index_col= False) # 对每一份文件执行的如下操作 data['Filename'] = files[i]
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 名字什么不重要 普通会员 1楼

      在Python的Tkinter库中,你可以使用tkinter.Progressbar类来显示文件读取进度。以下是一个示例,演示如何在多个文件中显示文件读取进度:

      ```python import tkinter as tk from tkinter import messagebox from tkinter import filedialog import os

      创建一个窗口

      root = tk.Tk()

      创建一个进度条

      bar = tk.Progressbar(root, orient='horizontal')

      设置进度条的初始进度为0

      bar.set(0)

      设置进度条的最大值为所有文件读取的总进度

      bar.max = sum([os.path.getsize(f) for f in os.listdir('.')])

      创建一个列表,存储所有需要显示的文件路径

      files = [f for f in os.listdir('.') if os.path.isfile(os.path.join(f, 'index.html'))]

      遍历每个文件路径,创建进度条

      for file in files: bar.config(fixed=bar.get()+os.path.getsize(file) * 100)

      在窗口中显示进度条

      root.mainloop() ```

      在这个示例中,我们首先导入了所需的库,然后创建了一个窗口。然后,我们创建了一个进度条,使用Progressbar类的orient='horizontal'属性来设置进度条的水平方向。接着,我们设置了进度条的初始进度为0,以便我们可以在任何时候显示进度。

      然后,我们创建了一个列表,其中包含所有需要显示的文件路径。我们使用列表推导式来遍历每个文件路径,检查文件是否为HTML文件(通过os.path.isfile()函数检查)。如果是,我们就创建一个进度条,将当前文件的大小加到进度条上,乘以100,以显示文件的大小百分比。

      最后,我们使用for循环遍历列表中的每个文件路径,使用bar.config(fixed=bar.get()+os.path.getsize(file) * 100)方法来设置进度条,使得进度条始终显示文件的当前进度加上对应的大小,但不会超过进度条的最大值。同时,我们通过messagebox.showinfo()函数显示一个消息框,告知用户文件已读取的进度百分比。

      当窗口关闭时,进度条将显示所有文件的当前进度。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部