从txt文件读取后,如何从字符串中删除“ {”和“}”字符?

时间:2019-01-19 14:06:52

标签: python python-3.x

我的程序应读取.txt文件并在窗口中打印内容,但是输出中有这些奇怪的'{'和'}'字符。 txt文件在一行上包含一个或多个单词。

我尝试替换字符,但是最后只用一行,这是我不希望的。

这是我到目前为止的代码:

if name == "<name>":
            file = open("<name>.txt", "r")
            wishlist = file.readlines()
            listtext.setText(wishlist) 

运行时,窗口中的输出看起来(例如)如下:

{Television
 }{Alarm Clock
}{Lamp
    }

当我希望显示时不带'{'和'}'

谢谢!

3 个答案:

答案 0 :(得分:1)

我认为这是您需要的小修改

if name == "<name>":
    file = open("<name>.txt", "r")
    wishlist = file.readlines()

    wishlist=[i.replace('{','') for i in wishlist] # removes all {s from all indices
    wishlist=[i.replace('}','') for i in wishlist] # removes all }s from all indices

    listtext.setText(wishlist) 

答案 1 :(得分:0)

原因是您使用了readlines()方法,该方法返回文件中的行列表。因此,您的列表文本中可能有一些方法将{和}附加到列表的每个元素

答案 2 :(得分:0)

您可以在一个简单的循环中使用String.replace(char,“”)函数删除不需要的字符,并且不影响输出的其余部分。

s='''{Television
 }{Alarm Clock
}{Lamp
    }'''
remove='{}'
for char in remove:
        s = s.replace(char, " ")

print(s)
  

输出

Television
   Alarm Clock         
Lamp