- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在尝试编写一个小脚本来自动化一些我需要编写的 PHP 样板。它应该将字符串 code
的副本写入输出文件,并为 fields
列表中的每个 dict 填写各种替换字段。
但是,我收到了错误:
Traceback (most recent call last):
File "writefields.py", line 43, in <module>
formatted = code.format(**field)
ValueError: unexpected '{' in field name
据我所知,替换字段或字典中没有多余的大括号会导致问题,因此我们将不胜感激。
code = '''
// {label}
add_filter( 'submit_job_form_fields', 'frontend_add_{fieldname}_field' );
function frontend_add_{fieldname}_field($fields) {
$fields['job']['job_{fieldname}'] = array(
'label' => __('{label}', 'job_manager'),
'type' => 'text',
'required' => {required},
'priority' => 7,
'placeholder' => '{placeholder}'
);
return $fields;
}
add_filter( 'job_manager_job_listing_data_fields', 'admin_add_{fieldname}_field' );
function admin_add_{fieldname}_field( $fields ) {
$fields['_job_{fieldname}'] = array(
'label' => __( '{label}', 'job_manager' ),
'type' => 'text',
'placeholder' => '{placeholder}',
'description' => ''
);
return $fields;
}
'''
fields = [
{
'fieldname': 'salary',
'label': 'Salary ($)',
'required': 'true',
'placeholder': 'e.g. 20000',
},
{
'fieldname': 'test',
'label': 'Test Field',
'required': 'true',
'placeholder': '',
}
]
with open('field-out.txt', 'w') as f:
for field in fields:
formatted = code.format(**field)
f.write(formatted)
f.write('\n')
最佳答案
您需要将不属于格式化占位符的任何 {
或 }
加倍。例如,您有:
function admin_add_{fieldname}_field( $fields ) {
[....]
}
在字符串中。第一行末尾的 {
和最后一行的 }
不是占位符的一部分。分别用 {{
和 }}
替换它们:
function admin_add_{fieldname}_field( $fields ) {{
[....]
}}
将花括号加倍可以避免它们;最终输出将再次包含单个 {
和 }
字符。
在您使用的完整字符串中,应该是:
code = '''
// {label}
add_filter( 'submit_job_form_fields', 'frontend_add_{fieldname}_field' );
function frontend_add_{fieldname}_field($fields) {{
$fields['job']['job_{fieldname}'] = array(
'label' => __('{label}', 'job_manager'),
'type' => 'text',
'required' => {required},
'priority' => 7,
'placeholder' => '{placeholder}'
);
return $fields;
}}
add_filter( 'job_manager_job_listing_data_fields', 'admin_add_{fieldname}_field' );
function admin_add_{fieldname}_field( $fields ) {{
$fields['_job_{fieldname}'] = array(
'label' => __( '{label}', 'job_manager' ),
'type' => 'text',
'placeholder' => '{placeholder}',
'description' => ''
);
return $fields;
}}
'''
关于python - 进行字符串格式化时,字段名称中出现意外的 '{',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38662296/
是的,我有这个对象,属性代表数据库表列作为属性,但它们都是大写的...如何将对象的所有属性更改为小写,而不将对象转换为将属性从大写转换为小写后的数组?..我想我可以用array_change_key_
是的,我有这个对象,属性代表db表的列作为属性,但是都是大写的...如何把对象的所有属性都变成小写,而不把对象转换成将属性从大写转换为小写后的数组?..我以为我可以用array_change_key_
我目前有一个论坛的 MySQL 帖子表。这包括父帖子和子帖子。如果它是父帖子,则它有一个主题。如果它是子帖子,则包含 parent_id。 例如: TABLE posts +----+--------
我正在添加一个临时表,其中包含第二个查询将使用的文件名列表。我知道文件名可以用于sql注入(inject),所以我想使用准备好的语句。 我的工作查询的简化版本如下所示(例如可能有 50 个文件名):
MySQL中查询所有数据库名和表名 查询所有数据库 ? 1
有人能给我指出正确的方向/网站吗 在 PHP 中有没有一种方法可以通过比较来自 FORM 的字段名称和来自数据库的 column_name 来动态更新特定的表。 例如 INPUT name="emai
获取表名及注释: ? 1
我正在使用 Pyshark 来解析 Wireshark 嗅探器日志,并且在使用“get_field_value”函数检索字段值时,我使用导出的 Json 格式文件(基于 pcapny 文件)来查找字段
我已经从以下 xsd 文件创建了 java bean 人.xsd
我用 MySQL 查询浏览器生成了一个 XML。我正在尝试应用 XSLT 将结果输出到 Word 表中。每条记录一张表。 这是我的 XML 示例 Critique
我有一个 select2 下拉列表,它配置为与远程数据一起使用。但是,我的远程数据源提供的搜索结果格式似乎与 select2 不兼容。远程数据例如是这样的: ... items: [ { value:
最好的 此时我在 python 2.7 中使用 Boto3,我想要的是:我的特定 DynamoDB 表的列标题。 此时,我正在处理一个非常大的 dynamoDB 表,有 80 列和 + 1.00O.0
错误信息 我刚刚试用了 Django-Rest-Framework 3.0 quickstart tutorial (伟大的介绍顺便说一句)并在我自己的系统/表上实现它时遇到了这个错误。 Improp
我正在尝试使用 haystack-whoosh 创建多个查询,我的最后一个问题是通过放置双反斜杠解决的,但现在出现了一个新错误。我在命令提示符中收到以下错误: C:\Users\varun\De
在尝试更新文档时,我在字段 timesToDisplay 中收到上述错误。 MongoDB 版本 2.6.7。 整个模型: msg = { 'name': '',
我是一名优秀的程序员,十分优秀!