python tkinter读取TXT文件的字符串
时间: 2023-10-26 22:11:27 浏览: 248
你可以使用以下代码来读取一个TXT文件并将其内容作为字符串存储:
```python
import tkinter as tk
from tkinter.filedialog import askopenfilename
# 创建Tkinter窗口
root = tk.Tk()
root.withdraw()
# 弹出文件选择框,选择需要读取的TXT文件
file_path = askopenfilename(filetypes=[('Text Files', '*.txt')])
# 如果用户选择了文件,则读取其内容
if file_path:
with open(file_path, 'r') as file:
file_content = file.read()
# 显示读取到的字符串
print(file_content)
```
这里使用了`tkinter.filedialog`模块的`askopenfilename()`函数来弹出文件选择框,让用户选择需要读取的TXT文件。然后使用`open()`函数打开文件,并使用`read()`方法读取其内容,并将其存储在`file_content`变量中。最后将读取到的字符串打印出来。
相关问题
python tkinter读取文件内容以空行符为间隔循环次数分别传递内容到text()文本框中
可以使用 Python 的 Tkinter 库来读取文件内容,并使用 `for` 循环来逐行读取文件内容。在每次循环中,可以使用 Tkinter 的 `Text` 组件的 `insert` 方法将读取的内容插入到文本框中。
下面是一个示例代码:
```python
import tkinter as tk
# 创建一个 Tk 窗口
window = tk.Tk()
# 创建一个 Text 组件
text_widget = tk.Text(window)
text_widget.pack()
# 读取文件内容
with open('file.txt', 'r') as f:
# 逐行读取文件内容
for line in f:
# 将读取的内容插入到 Text 组件中
text_widget.insert(tk.END, line)
# 运行 Tk 窗口
window.mainloop()
```
在上面的代码中,我们使用了 `with open` 语句打开了一个文件,并使用 `for` 循环逐行读取文件内容。在每次循环中,我们使用 `Text` 组件的 `insert` 方法将读取的内容插入到文本框中。
注意:在上面的代码中,我们使用的是空行作为循环次数的间隔。如果你想使用其他分隔符来循环,可以在循环中使用字符串的 `split` 方法将内容按照你指定的分隔符分割成多个部分。
帮我用python tkinter写一个可视化,要求:有一个确认按钮,按下后从屏幕获取两个字符串分别放在e,h变量中,写一两个线程,一个显示控件线程,一个传递参数线程
好的,这是一个简单的示例代码,实现了您的需求:
```python
import threading
import tkinter as tk
class GUI:
def __init__(self, root):
self.root = root
self.e = tk.StringVar()
self.h = tk.StringVar()
self.e.set("")
self.h.set("")
self.create_widgets()
def create_widgets(self):
# 输入框
tk.Label(self.root, text="输入框").grid(row=0, column=0)
tk.Entry(self.root, textvariable=self.e).grid(row=0, column=1)
# 输入框
tk.Label(self.root, text="输入框").grid(row=1, column=0)
tk.Entry(self.root, textvariable=self.h).grid(row=1, column=1)
# 确认按钮
tk.Button(self.root, text="确认", command=self.confirm).grid(row=2, column=0)
# 显示控件
self.label = tk.Label(self.root, text="")
self.label.grid(row=3, column=0)
def confirm(self):
# 启动线程
t1 = threading.Thread(target=self.show_control)
t2 = threading.Thread(target=self.transfer_params)
t1.start()
t2.start()
def show_control(self):
while True:
self.label.config(text=self.e.get() + " " + self.h.get())
def transfer_params(self):
while True:
pass
if __name__ == "__main__":
root = tk.Tk()
root.title("可视化")
app = GUI(root)
root.mainloop()
```
该代码使用了 tkinter 库实现了一个简单的图形界面,包含了两个输入框和一个确认按钮。当用户点击确认按钮时,程序会启动两个线程,一个显示控件的线程和一个传递参数的线程。其中,显示控件的线程会不断读取输入框中的内容,并将其显示在标签控件中。传递参数的线程则是一个空循环,没有实际作用,只是为了占用 CPU 资源,以便观察程序的多线程效果。
阅读全文