用python创建了一个窗口,可以选择文件,现在想要在同一目录下搜索出其他文件
一个文件夹里面有三个文件,我选择其中一个data文件,然后利用其他两个名为time和config的文本来获取相应信息,已经定义了相关函数,可以对time和config进行...
一个文件夹里面有三个文件,我选择其中一个data文件, 然后利用其他两个名为time 和 config的文本来获取相应信息,已经定义了相关函数,可以对time和config进行处理,但是都是指定路径的方式打开文件的,我想根据打开的文件夹路径来搜索相关文件,如何处理
展开
展开全部
刚好我前段时间写了一个日志分析工具、也是需要手动选择文件夹、然后列出整个文件夹里面的文件,然后双击选择
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()
效果图
望采纳
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询