python 在文本 tkinter 中插入字符串列表时在每一行添加 { }
python adds { } in each line when insert string list in text tkinter
当我尝试在 ScrolledText
框中显示列表时,python 出现问题。
我的代码打开一个 .txt
文件,读取每一行并将其显示在 ScrolledText
框中。下面你可以看到我的一小部分代码
from tkinter import *
from tkinter import ttk
from tkinter.scrolledtext import *
from tkinter.filedialog import askopenfilename
from tkinter import filedialog
def cargar_trazas():
lista_trazas_sistema = []
lista_trazas_subsistema = []
global contenido_trazas
path_trazas = askopenfilename( filetypes = (("all files","*.*"),("text files","*.txt"),("log files","*.log")))
archivo_trazas = open(path_trazas,'r')
contenido_trazas = archivo_trazas.readlines()
fichero_trazas_text.insert(INSERT, contenido_trazas)
fichero_trazas_text = ScrolledText(miFrameTextoTrazas, width=130, heigh=10)
fichero_trazas_text.grid(row=0, column=1, padx=10, pady=10)
问题是,当文件显示在每行的滚动文本中时,python 添加了 { }
。
为什么 python 这样做?在名为 contenido_trazas
的列表中,这些字符不会出现 { }
并且只能在 ScrolledText
框
中看到
是否可以选择丢弃这些字符以使其不再出现?
谢谢
它这样做是因为您将列表或元组传递给 insert
,但它需要一个字符串。 tkinter 只是 tcl/tk 解释器的包装器,tcl 在将列表转换为字符串时使用大括号来保留列表结构。因此,当将列表传递到需要文本的小部件方法时,您会得到大括号(有时是反斜杠)。
最简单的解决方案是使用 read()
而不是 readlines()
。
当我尝试在 ScrolledText
框中显示列表时,python 出现问题。
我的代码打开一个 .txt
文件,读取每一行并将其显示在 ScrolledText
框中。下面你可以看到我的一小部分代码
from tkinter import *
from tkinter import ttk
from tkinter.scrolledtext import *
from tkinter.filedialog import askopenfilename
from tkinter import filedialog
def cargar_trazas():
lista_trazas_sistema = []
lista_trazas_subsistema = []
global contenido_trazas
path_trazas = askopenfilename( filetypes = (("all files","*.*"),("text files","*.txt"),("log files","*.log")))
archivo_trazas = open(path_trazas,'r')
contenido_trazas = archivo_trazas.readlines()
fichero_trazas_text.insert(INSERT, contenido_trazas)
fichero_trazas_text = ScrolledText(miFrameTextoTrazas, width=130, heigh=10)
fichero_trazas_text.grid(row=0, column=1, padx=10, pady=10)
问题是,当文件显示在每行的滚动文本中时,python 添加了 { }
。
为什么 python 这样做?在名为 contenido_trazas
的列表中,这些字符不会出现 { }
并且只能在 ScrolledText
框
是否可以选择丢弃这些字符以使其不再出现?
谢谢
它这样做是因为您将列表或元组传递给 insert
,但它需要一个字符串。 tkinter 只是 tcl/tk 解释器的包装器,tcl 在将列表转换为字符串时使用大括号来保留列表结构。因此,当将列表传递到需要文本的小部件方法时,您会得到大括号(有时是反斜杠)。
最简单的解决方案是使用 read()
而不是 readlines()
。