text_widget.insert(1.0,“\\”)只显示一个斜杠

时间:2012-04-19 15:17:11

标签: python string tkinter ascii

标题说明了所有。我有以下代码,第9行和第18行包含所述字符。有没有办法不使用chr(92)?

def Conversion(self):
    self.t=self.input.Read()   
    self.columns=1    
    for i in range(len(self.t)):
        if self.t[i]==chr(9):
            self.columns+=1
        elif self.t[i]==chr(10):
            break             
    self.c="\begin{tabular} ["       
    self.c+="c"*self.columns
    self.c+="] \n"
    for i in range(len(self.t)):
        #self.c+=str(ord(self.t[i]))
        #self.c+=" "
        if self.t[i]==chr(9):
            self.c+='&'
        elif self.t[i]==chr(10):
            self.c+='\\'
            self.c+="\n"
        else:
            self.c+=self.t[i] 
    self.c+="\end{tabular}"
    self.output.Write(self.c)  

我的.Write方法也是如此:

class Output:
def __init__(self,master,x):
    self.v=Text(master,width=x)
    self.v.pack(side=RIGHT)
    self.v.insert(1.0,"LaTeX code")
def Write (self,input):
    self.input=input
    if self.v.get(1.0,END)=="":
        self.v.insert(1.0,self.input)
    else:
        self.v.delete(1.0,END)
        self.v.insert(1.0,self.input)

1 个答案:

答案 0 :(得分:4)

尝试转义\字符,每次在文本中需要\时,请写两个\,如下所示:

self.c='\\begin{tabular} ['

或使用raw strings

self.c=r'\begin{tabular} ['