如何在一个原始的Pythonstring中包含一个报价?

>>> r"what"ever" SyntaxError: invalid syntax >>> r"what\"ever" 'what\\"ever' 

那么我们如何得到报价而不是斜线呢?

而且请不要build议r'what"ever'因为那么问题就变成了如何包含这两种types的引用?

有关

如果你想在string中使用双引号而不是单引号,你可以使用单引号作为分隔符:

 r'what"ever' 

如果在string中需要两种引号,请使用三引号string:

 r"""what"ev'er""" 

如果你想在你的string中包含两种三重引号的string(一个极不可能的情况),你不能这样做,你将不得不使用带有转义的非原始string。

如果你需要任何types的引用(对于两者都是单引号,双引号和三引号),你可以“合并”(0)string:

 >>> raw_string_with_quotes = r'double"' r"single'" r'''double triple""" ''' r"""single triple''' """ >>> print raw_string_with_quotes double"single'double triple""" single triple''' 

你也可以将(0)原始string与非原始string“结合起来”:

 >>> r'raw_string\n' 'non-raw string\n' 'raw_string\\nnon-raw string\n' 

(0):事实上,pythonparsing器joinstring,它不会创build多个string。 如果添加“+”运算符,则会创build并组合多个string。

Python有多种方法来执行string,下面的string语法将允许您使用双引号:

 '''what"ever''' 

没关系,答案是三重引号string:

 r"""what"ever""" 
 dqote='"' sqote="'" 

使用“+”运算符和dqotesquotevariables来获得你所需要的

如果我想sed -es/",u'"/",'"/g -es/^"u'"/"'"/你可以尝试以下的方法: sed -es/",u'"/",'"/g -es/^"u'"/"'"/

 dqote='"' sqote="'" cmd1="sed -es/"+dqote+",u'"+dqote+"/"+dqote+",'"+dqote+'/g -es/^"u'+sqote+dqote+'/'+dqote+sqote+dqote+'/'