1
标题说明全部。我有以下代码,第9和18行包含所述字符。没有使用chr(92)的方法吗?text_widget.insert(1.0,“\”)只会显示一个斜线
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)
第一种方法给出了三个斜杠('///')的错误,但第二个方法完美地工作。你能解释一下实际上做了什么吗?什么是逃避? – 2012-04-19 15:29:33
对于第一种方法:每次你需要一个\,写_two_。这就是为什么\\\会失败,但\\\\将工作。对于第二种方法,'r''字符串被称为[原始字符串](http://docs.python.org/reference/lexical_analysis.html#string-literals),并使用不同的规则来解释反斜杠转义序列 – 2012-04-19 15:33:52
有一些字符在字符串中有特殊含义(例如:'''''''用于编写不可见字符:'\ n','\ t' ...或'“',用于指定字符串的末尾转义是指在字符串中使用这些字符(这些字符而不是他们的抽象角色),它是通过在Python中(以及其他许多语言)通过在前面添加'''''来完成的,例如'“Mark说\“你好!\”。“',或者你的情况''\\”' – FabienAndre 2012-04-19 16:05:23