How to exec a string which has an embedded '\n'? (Posting On Python-List Prohibited)

jfong at ms4.hinet.net jfong at ms4.hinet.net
Sun Dec 31 20:26:06 EST 2017


Lawrence D’Oliveiro於 2018年1月1日星期一 UTC+8上午7時56分02秒寫道:
> On Sunday, December 31, 2017 at 11:04:19 PM UTC+13, jf... at ms4.hinet.net wrote:
> >
> > This answer makes me think about '\' more thoughtful:-)
> 
> Python generating HTML containing JavaScript which generates HTML:
> 
>     out.write \
>       (
>             "\nfunction %(paramname)s_UpdateProjects()\n"
>             # /* refreshes the project list to show enabled and/or disabled projects as appropriate. */
>             "  {\n"
>             "    var IncludeEnabled = document.forms[\"%(formname)s\"]."
>                 "elements[\"%(paramname)s_show_enabled\"].checked\n"
>             "    var IncludeDisabled = document.forms[\"%(formname)s\"]."
>                 "elements[\"%(paramname)s_show_disabled\"].checked\n"
>             "    var TheList = \"\"\n"
>             "    for (var i = 0; i < %(paramname)s_ProjectList.length; ++i)\n"
>             "      {\n"
>             "        var ThisProject = %(paramname)s_ProjectList[i]\n"
>             "        if (ThisProject.enabled ? IncludeEnabled : IncludeDisabled)\n"
>             "          {\n"
>             "            TheList += \"<OPTION VALUE=\\\"\" + ThisProject.id +"
>                 " \"\\\"\" + (ThisProject.selected ? \" SELECTED\" : \"\") + \">\" +"
>                 " ThisProject.name + \"</OPTION>\\n\"\n"
>             "          } /*if*/\n"
>             "      } /*for*/\n"
>             "    DocumentElt(\"%(formname)s_%(paramname)s_list\").innerHTML =\n"
>             "        \"<SELECT NAME=\\\"%(paramname)s\\\" SIZE=\\\"5\\\"\"%(on_selection_changed)s"
>                 " + \">\\n\" + TheList + \"</SELECT>\\n\"\n"
>             "  } /*%(paramname)s_UpdateProjects*/\n"
>         %
>             {
>                 "formname" : FormName,
>                 "paramname" : ParamName,
>                 "on_selection_changed" : OnSelectionChanged,
>             }
>       )

I don't even dare to read through this code:-( 

How to run it?



More information about the Python-list mailing list