【问题标题】:Python: Nest more than two types of quotes [duplicate]Python:嵌套两种以上类型的引号[重复]
【发布时间】:2013-09-08 02:28:13
【问题描述】:

是否可以嵌套两种以上的引号?我的意思是我知道' 和" 但是如果我需要更多呢? 是否允许:

subprocess.Popen('echo "var1+'hello!'+var2"', shell=True)

【问题讨论】:

    标签: python nested quotes


    【解决方案1】:

    您可以使用三引号来避免嵌套单引号引起的任何问题:

    subprocess.Popen('''echo "var1+'hello!'+var2"''', shell=True)
    

    如果您想在字符串中使用相同的三引号作为分隔符 和,那么您必须转义字符串中的引号:

    '''some\'\'\'triple quotes\'\'\'''' -> "some'''triple quotes'''"
    

    或者,您可以依赖解释器将连接连续的字符串文字,并为字符串的不同部分使用不同的引号这一事实:

    subprocess.Popen('echo "var1+' "'hello!'" '+var2"', shell=True)
    

    请注意,通过这种方式,您甚至可以将原始字符串与非原始字符串混合:

    In [17]: print('non\traw' r'\traw' 'non\traw')
    non     raw\trawnon     raw
    

    【讨论】:

      【解决方案2】:

      三引号有效。您可以使用''' 或"""

      subprocess.Popen('''echo "var1+'hello!'+var2"''', shell=True)
      

      【讨论】:

        【解决方案3】:

        你可以使用三引号:

        subprocess.Popen('''echo "var1+'hello!'+var2"''', shell=True)
        
        
        subprocess.Popen("""echo "var1+'hello!'+var2\"""", shell=True)
        

        【讨论】:

          猜你喜欢
          • 2016-05-07
          • 2013-09-23
          • 1970-01-01
          • 1970-01-01
          • 2021-12-15
          • 2016-05-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多