【问题标题】:Opening txt file in a label in Python在 Python 中的标签中打开 txt 文件
【发布时间】:2016-01-31 01:17:43
【问题描述】:

我正在尝试使用 Python 3.x 在带有 Tkinter 的标签中打开 .txt 文件 这是我写的代码:

from tkinter import *
tk = Tk()

#Title
tk.title("My Program")


f = open("file.txt", "r", encoding="UTF8").readlines()
Label(tk, text=f) .grid(row=0)

tk.mainloop()

它有效,这就是我得到的: Screenshot

如何在没有括号的情况下可视化文本?我怎样才能对齐/证明它?

【问题讨论】:

  • 括号在那里是因为.readlines() 返回一个列表。您可以使用f = ''.join(f) 摆脱它们。就对齐和证明而言,我建议阅读文档或effbot
  • 或者他可以简单地使用read()而不是readlines()
  • 成功了,谢谢。
  • @KurzedMetal 也是的

标签: python python-3.x tkinter label


【解决方案1】:

大括号在那里是因为你告诉标签显示一个列表而不是一个字符串。原因在于 Tkinter 构建在 tcl 解释器之上,而 tcl 使用花括号来保留列表元素边界。

简单的解决方案是将列表显式转换为字符串,或者干脆不使用列表:

将列表转换为字符串:

f = open("file.txt", "r", encoding="UTF8").readlines()
Label(tk, text="\n".join(f)) .grid(row=0)

插入原始的非列表数据:

f = open("file.txt", "r", encoding="UTF8").read()
Label(tk, text=f) .grid(row=0)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-13
    • 2019-07-01
    • 1970-01-01
    相关资源
    最近更新 更多