multiple examples example python python-3.x string-formatting

examples - python format repeat string



Inesperado ''{'' en el nombre del campo al hacer el formato de cadena (1)

Debe duplicar cualquier { o } que no forme parte de un marcador de posición de formato. Por ejemplo, usted tiene:

function admin_add_{fieldname}_field( $fields ) { [....] }

en la cuerda Los { y } no son parte de un marcador de posición.

Al doblar esas llaves se les escapa; La salida final contendrá de nuevo { y } caracteres:

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; }} ''''''

Estoy tratando de escribir una pequeña secuencia de comandos que automatizará algo repetitivo de PHP que necesito escribir. Debe escribir una copia del code cadena en el archivo de salida con los diversos campos de reemplazo rellenados para cada dictado en la lista de fields .

Sin embargo, estoy recibiendo el error:

Traceback (most recent call last): File "writefields.py", line 43, in <module> formatted = code.format(**field) ValueError: unexpected ''{'' in field name

Por lo que puedo decir, no hay llaves adicionales ni en los campos de reemplazo ni en los dados que deberían estar causando problemas, por lo que se agradecería cualquier ayuda.

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'')