用python创建了一个窗口,可以选择文件,现在想要在同一目录下搜索出其他文件

一个文件夹里面有三个文件,我选择其中一个data文件,然后利用其他两个名为time和config的文本来获取相应信息,已经定义了相关函数,可以对time和config进行... 一个文件夹里面有三个文件,我选择其中一个data文件, 然后利用其他两个名为time 和 config的文本来获取相应信息,已经定义了相关函数,可以对time和config进行处理,但是都是指定路径的方式打开文件的,我想根据打开的文件夹路径来搜索相关文件,如何处理 展开
 我来答
好好学习der
2013-08-23 · TA获得超过3908个赞
知道小有建树答主
回答量:1816
采纳率:0%
帮助的人:1273万
展开全部

刚好我前段时间写了一个日志分析工具、也是需要手动选择文件夹、然后列出整个文件夹里面的文件,然后双击选择

1、用tkinter.filedialog的filedialog来打开选择文件夹

2、用os.listdit()来显示文件夹里面的所有文件,当然你可以设置if条件,来选择你想显示的文件

代码;

#!/usr/bin/env python
#!encoding:utf-8
#!filename:test_filedialog.py
import tkinter.filedialog as filedialog
from tkinter import *
import os
from tkinter import *

def callback():
    entry.delete(0,END) #清空entry里面的内容
    listbox_filename.delete(0,END)
    #调用filedialog模块的askdirectory()函数去打开文件夹
    global filepath
    filepath = filedialog.askdirectory() 
    if filepath:
        entry.insert(0,filepath) #将选择好的路径加入到entry里面
    print (filepath)
    getdir(filepath)

def getdir(filepath=os.getcwd()):
    """
    用于获取目录下的文件列表
    """
    cf = os.listdir(filepath)
    for i in cf:
        listbox_filename.insert(END,i)

if __name__ == "__main__":
    root = Tk()
    root.title("测试版本")
    root.geometry("400x400")
    root.rowconfigure(1, weight=1)
    root.rowconfigure(2, weight=8)

    entry = Entry(root, width=60)
    entry.grid(sticky=W+N, row=0, column=0, columnspan=4, padx=5, pady=5)

    button = Button(root,text="选择文件夹",command=callback)
    button.grid(sticky=W+N, row=1, column=0, padx=5, pady=5)
    #创建loistbox用来显示所有文件名
    listbox_filename = Listbox(root, width=60)
    listbox_filename.grid(row=2, column=0, columnspan=4, rowspan=4, 
                            padx=5, pady=5, sticky=W+E+S+N)

    root.mainloop()

效果图

望采纳

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式