标题说明了一切。我有以下代码,第 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)
最佳答案
尝试转义\
字符,每次在文本中需要一个\
时,写两个\
这样:
self.c='\\begin{tabular} ['
或者使用raw strings :
self.c=r'\begin{tabular} ['
关于python - text_widget.insert(1.0, "\\") 将只显示一个斜线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10231250/