python - python在文本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()
.
推荐阅读
- javascript - 没有从机器人模拟器获取数据到 blob 存储?
- gatsby - 从 Headless CMS(如 Strapi)在 Gatsby-Config.JS 中编辑站点元数据
- amazon-web-services - 无服务器步骤功能插件中指的是哪些活动部分?
- angular - 如何根据角度的html页面中的特殊字符过滤文件名?
- postgresql - ST_AsMVT 缓冲区在 PostGIS 3.0.1 开发中不起作用
- python - 创建 int64 结构的 int8 scipy 稀疏矩阵创建错误?
- ios - Flutter 在启动 iOS 应用程序时显示黑屏
- elasticsearch - 使用 logstash 从弹性搜索中删除数据或文档
- c# - 使用 Observable SelectMany 处理反应式扩展错误
- c - 通过使用 static 关键字将全局变量设为非全局变量,我们可以获得什么?