python中TK打开文件夹
时间: 2023-08-01 20:13:17 浏览: 152
要在Python中使用TK打开文件夹,可以使用`filedialog`模块。以下是一个示例代码:
```python
from tkinter import *
from tkinter import filedialog
root = Tk()
root.withdraw()
folder_selected = filedialog.askdirectory()
print(folder_selected)
```
这段代码将弹出一个文件夹选择对话框,用户可以选择文件夹,并将其路径打印在控制台上。请注意,我们使用了`root.withdraw()`来隐藏TK窗口,因为我们只需要文件对话框。
相关问题
python的tk界面打开文件夹,显示里面的txt目录,然后在tk界面中阅读相应的txt文件
可以使用tkinter库来创建一个GUI界面,利用os库来获取文件夹中的txt文件列表,利用Text组件来显示文件内容。以下是一个简单的示例代码:
```python
import os
import tkinter as tk
from tkinter import filedialog, Text
root = tk.Tk()
root.title("File Explorer")
apps = []
def add_app():
for widget in frame.winfo_children():
widget.destroy()
filename = filedialog.askopenfilename(initialdir="/", title="Select File", filetypes=(("Text Files", "*.txt"),))
apps.append(filename)
for app in apps:
label = tk.Label(frame, text=app, bg="white")
label.pack()
def read_file():
for widget in frame.winfo_children():
widget.destroy()
foldername = filedialog.askdirectory(initialdir="/", title="Select Folder")
txt_files = [f for f in os.listdir(foldername) if f.endswith('.txt')]
for txt_file in txt_files:
with open(os.path.join(foldername, txt_file), "r") as f:
text = f.read()
label = tk.Label(frame, text=text, bg="white")
label.pack()
canvas = tk.Canvas(root, height=500, width=500, bg="#263D42")
canvas.pack()
button_frame = tk.Frame(root, bg="white")
button_frame.place(relwidth=0.8, relheight=0.1, relx=0.1, rely=0.1)
open_file_button = tk.Button(button_frame, text="Open File", padx=10, pady=5, fg="white", bg="#263D42", command=add_app)
open_file_button.pack(side="left", padx=10)
open_folder_button = tk.Button(button_frame, text="Open Folder", padx=10, pady=5, fg="white", bg="#263D42", command=read_file)
open_folder_button.pack(side="left", padx=10)
frame = tk.Frame(root, bg="white")
frame.place(relwidth=0.8, relheight=0.6, relx=0.1, rely=0.3)
root.mainloop()
```
这个程序创建了一个GUI界面,包含了两个按钮,分别用于打开单个txt文件和打开txt文件所在的文件夹。当用户点击"Open File"按钮时,程序会调用add_app函数,让用户选择一个txt文件,并将其添加到apps列表中。当用户点击"Open Folder"按钮时,程序会调用read_file函数,让用户选择一个文件夹,并获取该文件夹中所有的.txt文件列表。程序会依次打开每个txt文件,并将其内容显示在GUI界面中。
python tk通过选择文件夹保存图片
如果您希望用户能够选择保存图片的文件夹,可以使用`tkinter.filedialog.asksaveasfilename()`函数,该函数可以弹出一个对话框,让用户选择保存文件的位置和文件名。以下是一个示例代码:
```python
import tkinter as tk
from tkinter import filedialog
from PIL import Image, ImageTk
root = tk.Tk()
# 创建一个保存图片的函数
def save_image():
# 获取当前显示的图片
img = l1.image
if img is None:
return
# 弹出一个对话框,让用户选择保存文件的位置和文件名
filename = filedialog.asksaveasfilename(defaultextension='.jpg')
if filename:
# 保存图片
img.save(filename)
# 创建一个选择图片的函数
def choose_image():
# 弹出一个对话框,让用户选择图片
filename = filedialog.askopenfilename()
if filename:
# 打开选择的图片
img_open = Image.open(filename)
# 缩放图片
img = ImageTk.PhotoImage(img_open.resize((500, 500)))
# 显示图片
l1.config(image=img)
l1.image = img
# 创建一个Button用于选择图片
btn_choose = tk.Button(root, text='选择图片', command=choose_image)
btn_choose.pack()
# 创建一个Button用于保存图片
btn_save = tk.Button(root, text='保存图片', command=save_image)
btn_save.pack()
# 创建一个Label用于显示图片
l1 = tk.Label(root)
l1.pack()
root.mainloop()
```
在这个示例代码中,我们创建了两个Button控件,一个用于选择图片,一个用于保存图片。当用户点击选择图片按钮时,会弹出一个对话框,让用户选择一张图片。当用户点击保存图片按钮时,会弹出一个对话框,让用户选择保存图片的位置和文件名,并将当前显示的图片保存到指定的文件夹中。需要注意的是,如果当前没有显示任何图片,保存图片的操作将不会执行。
阅读全文