簡體   English   中英

當應設置格式的文本中存在語法相同的非占位符時,如何在python中設置占位符?

[英]How do you set placeholders in python when there are syntax-identical non-placeholders in the text that should be formatted?

我有一個HTML模板文件,其中包含一些JavaScript和一些Python占位符,例如{foobar} ,我想用腳本替換。

要重新放置這些占位符,我可以通過以下方式加載文件的內容:

file = open("template.html", "r")
content = file.read()
file.close()
foobars = {
    "foobar_1": "bla",
}
content = content.format(**foobars)

我的問題是,在JavaScript代碼中,存在一些類似占位符的格式,例如google.charts.load('current', {'packages':['corechart']}); 這樣我就得到一個KeyError: "'packages'"

當應設置格式的文本中存在語法相同的非占位符時,如何在python中設置占位符?

創建模板時,請對不限制格式占位符的所有花括號加倍:

google.charts.load('current', {{'packages':['corechart']}});

str.format會將雙括號轉換為單括號,而不是將其視為格式占位符。

如果您不能執行此操作,那么您基本上就被搞砸了。 您的輸入格式設計不當,您要付出代價。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM