使用逗号从列表中插入值到tkinter文本小部件



我创建了一个UI,允许检查Word文档段落中使用的字体是否为Times New Roman。如果段落使用任何其他字体书写,则通过tkinter(8.6)文本小部件将字体名称显示给用户。无效字体存储在一个集合中。

在文本小部件中,每个无效字体用逗号分隔。但是,在集合的最后一个元素之后也会出现一个逗号。此行为是不希望的。

我想知道如何防止逗号出现在最后一个元素之后。

代码是在PyCharm (Community Edition 2021.3.3)上使用Python(3.10)编写的。

代码如下。代码只显示用于检查字体的函数,而不是整个代码,因为它涉及按钮,可能太长。欢迎任何帮助。

# function that checks font
def font_name():
if var1.get() == 1:
# access file
doc = Document(filename)
# check font for paragraphs
font = set()  # store all font names
invalid_fonts = set()  # store unacceptable font
VALID_FONT = 'Times New Roman'  # state the valid font
for paragraphs in doc.paragraphs:
if 'Normal' == paragraphs.style.name:
for run in paragraphs.runs:
# add fonts from each run
font.add(run.font.name)
# check if fonts are valid
if run.font.name != VALID_FONT:
invalid_fonts.add(run.font.name)
# check if all elements in font are VALID_FONT
if {VALID_FONT} == font:
output_display.insert("All paragraphs are written in Times New Roman font." + 'n')
# check if all elements in font are not VALID_FONT
elif {VALID_FONT} != font:
output_display.insert('end', "Paragraph written in unrecognised font(s): ")
for invalid_fonts in invalid_fonts:
output_display.insert('end', invalid_fonts + ', ')  # add invalid font(s) to text widget

您可以使用str.join()函数:

import tkinter as tk
root = tk.Tk()

my_list = ['1', '2', '3', '3']
display = tk.Text(root)
display.insert(tk.END, ','.join(my_list))
display.pack()
root.mainloop()

最新更新