如何将含嵌套引号的格式字符串转换为Python f-string?
嵌套引号场景下的f-string转换方法
针对你给出的格式化代码,转成f-string有几种简洁的实现方式,核心是通过引号类型区分或转义来处理嵌套问题:
方法1:保留变量,用单引号包裹f-string
如果code变量需要单独定义,直接替换format为f-string即可,外层用单引号,内部双引号无需转义:
code = "open('test.txt', 'w');" file.write(f'python -c "{code}"')
方法2:直接嵌入内容,用转义引号
如果不需要单独变量,直接把内容写进f-string,对内部的双引号转义即可:
file.write(f"python -c \"open('test.txt', 'w');\"")
方法3:用三重引号简化嵌套
三重引号(单/双均可)可以避免频繁转义,可读性更强:
file.write(f'''python -c "open('test.txt', 'w');"''')
以上三种方式最终生成的字符串和原代码完全一致,都能正确处理多层引号的嵌套问题。
内容的提问来源于stack exchange,提问作者Mark Mayo
相关产品推荐
相关产品推荐

