1
タイトルはすべてです。私は以下のコードを持っています。行9と行18は上記の文字を含んでいます。 chr(92)を使わない方法がありますか?text_widget.insert(1.0、 "\")はスラッシュを1つだけ表示します
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)
最初の方法では3つのスラッシュ( '///')でエラーが発生しましたが、2番目の方法は完全に機能しました。 rが実際に何をしているのか説明できますか?エスケープとは何ですか? –
最初の方法は、\が必要なたびに_two_と書いてください。だから\\\は失敗するでしょうが\\\\はうまくいくでしょう。 2番目の方法では、 'r'''文字列は[生の文字列](http://docs.python.org/reference/lexical_analysis.html#string-literals)と呼ばれ、バックスラッシュのエスケープシーケンスを解釈するための異なる規則を使用します。 –
文字列には特別な意味を持つ文字がいくつかあります(例: '' \ ''、文字列の終わりを指定する '\ n'、' \ t' ...または '' 'エスケープとは、この文字を文字列(この文字で抽象的な役割ではない)で使用することを指します。これはPython(他の多くの言語と同様に)で '' \ ' \ "Hello!\"。 "'、またはあなたの場合 '" \\ "' – FabienAndre