{"id":1611,"date":"2023-02-17T12:37:54","date_gmt":"2023-02-17T04:37:54","guid":{"rendered":"http:\/\/zhang.mba\/?p=1611"},"modified":"2023-02-17T22:50:18","modified_gmt":"2023-02-17T14:50:18","slug":"cer-ci-feng-zhuang-ku-han-shu-zi-dong-sheng-cheng","status":"publish","type":"post","link":"https:\/\/zhang.mba\/index.php\/2023\/02\/17\/12\/37\/54\/1611\/cer-ci-feng-zhuang-ku-han-shu-zi-dong-sheng-cheng\/python\/zhangzhiqi\/","title":{"rendered":"C#\u4e8c\u6b21\u5c01\u88c5\u5e93\u51fd\u6570\u81ea\u52a8\u751f\u6210"},"content":{"rendered":"<h2><a id=\"%E5%AE%9E%E7%8E%B0%E7%BB%93%E6%9E%84%E4%BD%93%E4%B8%8E%E6%9E%9A%E4%B8%BE%E8%BF%94%E5%9B%9E%E7%BB%99python\" class=\"anchor\" aria-hidden=\"true\"><span class=\"octicon octicon-link\"><\/span><\/a>\u5b9e\u73b0\u7ed3\u6784\u4f53\u4e0e\u679a\u4e3e\u8fd4\u56de\u7ed9python<\/h2>\n<p>\u5ea6\u7533\u63d0\u4f9b\u7684C#\u5c01\u88c5\u5e93\u4e2d\u7684\u51fd\u6570\u8fd4\u56de\u503c\u662f\u591a\u79cd\u591a\u6837\u7684\uff0c\u5982\u679c\u76f4\u63a5\u8fd4\u56de\u76f8\u5e94\u7c7b\u578b\uff0c\u5728python\u4e2d\u662f\u63a5\u6536\u4e0d\u5230\u7684\uff0c\u5e76\u4e14\u4f1a\u62a5\u9519\u3002\u4f46\u5b57\u7b26\u4e32\u548c\u6574\u578b\u53ef\u4ee5\u6b63\u5e38\u8fd4\u56de\u7ed9python\uff0c\u4e00\u4e2a\u76f8\u5f53\u7136\u7684\u60f3\u6cd5\u5c31\u662f\uff1a\u80fd\u4e0d\u80fd\u5c06\u51fd\u6570\u8fd4\u56de\u7684\u7ed3\u6784\u4f53\u53d8\u6210\u5b57\u7b26\u4e32\uff0c\u5c06\u51fd\u6570\u8fd4\u56de\u7684\u679a\u4e3e\u53d8\u6210\u6574\u578b\uff0c\u518d\u8fd4\u56de\u7ed9python\uff1f\u7ecf\u8fc7\u5b9e\u8df5\uff0c\u8bc1\u660e\u786e\u5b9e\u662f\u53ef\u884c\u7684\u3002<\/p>\n<h3><a id=\"c%E8%BF%94%E5%9B%9E%E7%BB%93%E6%9E%84%E4%BD%93%E7%BB%99-python\" class=\"anchor\" aria-hidden=\"true\"><span class=\"octicon octicon-link\"><\/span><\/a>C#\u8fd4\u56de\u7ed3\u6784\u4f53\u7ed9python<\/h3>\n<p>\u5728C#\u4e2d\u5b9a\u4e49\u5982\u4e0b\u51fd\u6570\uff1a<\/p>\n<pre class=\"line-numbers\"><code class=\"language-C#\">   \/\/\u8fd4\u56de\u7ed3\u6784\u4f53\u5b57\u7b26\u4e32\n        public static string PrintStructValues&lt;T&gt;(T obj) where T : struct\n        {\n            var type = obj.GetType();\n            var fields = type.GetFields();\n            string returnstr = &quot;&quot;;\n            foreach (var field in fields)\n            {\n                returnstr += field.Name + &quot;:&quot; + field.GetValue(obj) + &quot;\\n&quot;;\n            }\n            return returnstr;\n        }\n<\/code><\/pre>\n<p>\u901a\u8fc7\u8fd9\u4e2a\u51fd\u6570\uff0c\u5c31\u53ef\u4ee5\u5c06\u4efb\u610f\u7ed3\u6784\u4f53\u8f6c\u6210\u952e\u503c\u5bf9\u5f62\u5f0f\u7684\u5b57\u7b26\u4e32\uff0c\u65b9\u4fbf\u6211\u4eec\u4ee5\u540e\u5728python\u4e2d\u4f7f\u7528\uff0c\u5bf9\u4e8e\u6709\u7ed3\u6784\u4f53\u5f15\u7528\u7c7b\u578b\u7684\u51fd\u6570\uff0c\u6211\u4eec\u4f1a\u5728\u6700\u540e\u8fd4\u56de\u7ed9python\u7684\u5b57\u7b26\u4e32\u4e2d\u52a0\u4e0a\u8fd9\u6bb5\u7ed3\u6784\u4f53\u5b57\u7b26\u4e32\u3002<\/p>\n<h3><a id=\"c%E8%BF%94%E5%9B%9E%E6%9E%9A%E4%B8%BE%E7%BB%99-python\" class=\"anchor\" aria-hidden=\"true\"><span class=\"octicon octicon-link\"><\/span><\/a>C#\u8fd4\u56de\u679a\u4e3e\u7ed9python<\/h3>\n<p>\u5bf9\u4e8e\u679a\u4e3e\u7c7b\u578b\uff0c\u8fd9\u4e2a\u5c31\u6bd4\u8f83\u65b9\u4fbf\u4e86\uff0c\u76f4\u63a5ToString()\u4e00\u4e0b\uff0c\u8fd4\u56de\u7ed9python\u5373\u53ef\u3002<br \/>\n\u4e3e\u4f8b\u5982\u4e0b\uff1a<\/p>\n<pre class=\"line-numbers\"><code class=\"language-C#\">        public static string dvpGetAeTarget(int handlePy, int refAeTargetPy) \n        { \n        uint handle = (uint)handlePy; \n        int refAeTarget = (int)refAeTargetPy; \n        return &quot;dvpStatus:&quot; + DVPCamera.dvpGetAeTarget(handle, ref refAeTarget).ToString() + &quot;\\n&quot; + &quot;int:&quot; + refAeTarget.ToString(); }\n<\/code><\/pre>\n<h3><a id=\"python%E4%BC%A0%E7%BB%93%E6%9E%84%E4%BD%93%E7%BB%99c%EF%BC%88%E5%B7%B2%E5%BA%9F%E5%BC%83%EF%BC%89\" class=\"anchor\" aria-hidden=\"true\"><span class=\"octicon octicon-link\"><\/span><\/a>python\u4f20\u7ed3\u6784\u4f53\u7ed9C#\uff08\u5df2\u5e9f\u5f03\uff09<\/h3>\n<p>python\u4f20\u7ed3\u6784\u4f53\u7ed9C#\uff0c\u9700\u8981\u7528\u4e00\u4e2a\u5f15\u7528\u5e93*<u><strong>Newtonsoft.Json<\/strong><\/u>*\uff0cpython\u4e2d\u4f20\u4e00\u6bb5Json\u683c\u5f0f\u7684\u5b57\u7b26\u4e32\uff0c\u5b57\u7b26\u4e32\u7684\u5185\u5bb9\u5c31\u662f\u683c\u5f0f\u5316\u597d\u7684\u7ed3\u6784\u4f53\u6587\u672c\uff0c\u7136\u540eC#\u4e2d\u7684\u51fd\u6570\u63a5\u6536\u5230\u5b57\u7b26\u4e32\u540e\uff0c\u518d\u8c03\u7528JsonConvert.DeserializeObject<T>(string value) \u65b9\u6cd5\u5c06\u8f6c\u5316\u4e3a\u7ed3\u6784\u4f53\u7c7b\u578b\u3002<\/p>\n<pre class=\"line-numbers\"><code class=\"language-python\"># Python\u4f20\u7ed9C#\u7684\u5b57\u7b26\u4e32\u683c\u5f0f\u5982\u4e0b\uff1a\nString = &quot;{&quot;Name&quot;:&quot;zhang&quot;,&quot;Age&quot;:24}&quot;;\n\n# C#\u4e2d\u5c06\u63a5\u6536\u5230\u7684\u5b57\u7b26\u4e32\u8f6c\u6210\u7ed3\u6784\u4f53\u7684\u4ee3\u7801\u5982\u4e0b:\nMyStruct myStruct = JsonConvert.DeserializeObject&lt;MyStruct&gt;(jsonString);\n\n# C#\u4e2d\u7ed3\u6784\u4f53\u7c7b\u578b\u5982\u4e0b\uff1a\npublic struct MyStruct\n{\n    public string Name;\n    public int Age;\n}\n\n<\/code><\/pre>\n<p>\u7531\u4e8e\u5ea6\u7533C#\u5e93\u4e2d\u7684\u7ed3\u6784\u4f53\u5168\u90e8\u90fd\u6709\u4fdd\u7559\u5b57\u6bb5\uff0c\u4e14\u4e3a\u6570\u7ec4\u5f62\u5f0f\uff0c\u5e76\u5b9a\u4e49\u4e86\u6570\u7ec4\u5143\u7d20\u6570\u91cf\u5927\u5c0f\uff0c\u8fd9\u4e5f\u5c31\u8981\u6c42\u6211\u4eec\u5728python\u4e2d\u4f20\u9012\u7ed3\u6784\u4f53\u65f6\uff0c\u4e5f\u8981\u5c06\u8fd9\u4e2a\u4fdd\u7559\u5b57\u6bb5\u586b\u5145\u597d\u3002\u4f46\u95ee\u9898\u662f\uff0c\u8fd9\u4e9b\u4fdd\u7559\u5b57\u6bb5\u7684\u6570\u7ec4\u5143\u7d20\u7684\u6570\u91cf\uff0c\u7adf\u9ad8\u8fbe128\u4e2a\uff0c\u5982\u679c\u5728python\u4e2d\u4f7f\u7528\uff0c\u90a3\u4e48\u5728\u4f20\u9012\u7ed3\u6784\u4f53\u65f6\uff0c\u6211\u4eec\u5b57\u7b26\u4e32\u4e2d\u5c31\u4f1a\u51fa\u73b0\u4ee5\u4e0b\u8fd9\u79cd\u60c5\u51b5:<\/p>\n<pre class=\"line-numbers\"><code class=\"language-python\">String = &quot;{&quot;Name&quot;:&quot;zhang&quot;,&quot;Age&quot;:24,&quot;\u4fdd\u7559\u5b57\u6bb5&quot;:[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.....\u7b49\u7b49]}&quot;;\n<\/code><\/pre>\n<p>\u8fd9\u662f\u65e0\u6cd5\u63a5\u53d7\u7684\uff0c\u4ecepython\u4f20\u7ed3\u6784\u4f53\u7ed9C#\uff0c\u5728\u672c\u6b21\u9879\u76ee\u4e2d\u88ab\u5e9f\u5f03\u3002<\/p>\n<h2><a id=\"%E8%A7%A3%E5%86%B3c%E4%B8%AD%E7%9A%84%E6%8E%A7%E5%88%B6%E5%8F%B0%E8%BE%93%E5%87%BA%EF%BC%8C%E5%9C%A8-python%E7%9A%84%E6%8E%A7%E5%88%B6%E5%8F%B0%E4%B9%B1%E7%A0%81%E9%97%AE%E9%A2%98\" class=\"anchor\" aria-hidden=\"true\"><span class=\"octicon octicon-link\"><\/span><\/a>\u89e3\u51b3C#\u4e2d\u7684\u63a7\u5236\u53f0\u8f93\u51fa\uff0c\u5728python\u7684\u63a7\u5236\u53f0\u4e71\u7801\u95ee\u9898<\/h2>\n<p>\u5728C#\u7684\u5e93\u4e2d\u589e\u52a0\u4e0b\u9762\u8fd9\u4e2a\u51fd\u6570\uff0c\u672c\u65b9\u6cd5\u5728\u7a0b\u5e8f\u5f00\u59cb\u65f6\u53ea\u9700\u8981\u6267\u884c\u4e00\u6b21\uff0c\u5c31\u53ef\u4ee5\u89e3\u51b3\u6240\u6709\u4e71\u7801\u95ee\u9898\u3002<\/p>\n<pre class=\"line-numbers\"><code class=\"language-C#\">  private static void setUtf8()\n        {\n            Console.OutputEncoding = System.Text.Encoding.UTF8;\n        }\n<\/code><\/pre>\n<h2><a id=\"%E8%87%AA%E5%8A%A8%E5%8C%96%E7%94%9F%E6%88%90c%E4%BB%A3%E7%A0%81\" class=\"anchor\" aria-hidden=\"true\"><span class=\"octicon octicon-link\"><\/span><\/a>\u81ea\u52a8\u5316\u751f\u6210C#\u4ee3\u7801<\/h2>\n<p>\u672c\u90e8\u5206\u4e0d\u518d\u8d58\u8ff0\uff0c\u8c03\u8bd5\u4e86\u5f88\u957f\u65f6\u95f4<\/p>\n<pre class=\"line-numbers\"><code class=\"language-python\">#  \/\/  X:\/\u8f6f\u4ef6\/C#\u5e93\u8c03\u7528\u6d4b\u8bd5\/\u81ea\u52a8\u5316API\u751f\u6210\u4e4b\u5b8c\u6574\u6d41\u7a0b.py\n#  \/\/  Copyright (c) 2023.\n#  \/\/  @Time    : 2023\/2\/14   13:35:44\n#  \/\/  @Author : \u5f20\u7a1a\u7426\n#  \/\/  @Address: \u6e56\u5317\u7406\u5de5\u5b66\u9662\u817e\u9f99\u516c\u5bd3 6131\n#  \/\/  @Email   : zhang@zhang.mba \/ zhangzhiqi828@gmail.com \/ zhangzhiqi@lh83.onmicrosoft.com \/ 2272358828@qq.com\n#  \/\/  @File      : \u81ea\u52a8\u5316API\u751f\u6210\u4e4b\u5b8c\u6574\u6d41\u7a0b.py\n#  \/\/  @LastModified: 2023\/2\/14 \u4e0b\u53481:35\n#  \/\/  @ProjectName : C#\u5e93\u8c03\u7528\u6d4b\u8bd5\nimport re\n\nwith open('text.txt', 'r', encoding='utf-8') as f:\n    text = f.read()\n\nsections = text.strip().split('\\n\\n')\nall=&quot;&quot;\n# \u8f93\u51fa\u7ed3\u679c\nfor section in sections:\n    # print(section)\n    # print('*'*50)\n    flag=0\n\n    inner=&quot;&quot;\n\n    PrintStructValues=&quot;&quot;\n    returnEnum=&quot;&quot;\n\n    #\u63d0\u53d6\u51fd\u6570\u540d \u548c \u5f62\u53c2\u5217\u8868\n    pattern = r'(\\w+)\\s*\\((.*?)\\);'\n    match = re.search(pattern, section)\n\n    if match:\n        # \u63d0\u53d6\u51fd\u6570\u540d\u548c\u5f62\u53c2\u53d8\u91cf\u540d\n        func_name = match.group(1)\n        params = match.group(2)\n        # \u53bb\u9664\u7a7a\u683c\u548c\u6362\u884c\u7b26\n        params = re.sub(r'\\s+', '', params)\n        # \u5206\u5272\u5f62\u53c2\u53d8\u91cf\u540d\n        param_names = params.split(',')\n        # print('Function name:', func_name)\n        # print('Parameter names:', param_names)\n\n        ok_list=[]\n\n        for string in param_names:\n            if string.startswith(&quot;dvpStreamCallbackproc&quot;):\n                continue\n            elif string.startswith(&quot;uint&quot;):\n                string = string[4:]\n                ok_list.append(&quot;int &quot;+string)\n                inner=inner+f&quot;uint {string}=(uint){string}Py;&quot;\n                # print(string)\n            elif string.startswith(&quot;float&quot;):\n                string = string[5:]\n                ok_list.append(&quot;float &quot;+string)\n                inner = inner + f&quot;float {string}=(float){string}Py;&quot;\n            elif string.startswith(&quot;char&quot;):\n                string = string[4:]\n                ok_list.append(&quot;char &quot; + string)\n                inner = inner + f&quot;char {string}=(char){string}Py;&quot;\n            elif string.startswith(&quot;refchar&quot;):\n                string = string[7:]\n                ok_list.append(&quot;char ref &quot; + string)\n                inner = inner + f&quot;char {string}=(char){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;char:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;int&quot;):\n                string = string[3:]\n                ok_list.append(&quot;int &quot;+string)\n                inner = inner + f&quot;int {string}=(int){string}Py;&quot;\n            elif string.startswith(&quot;ulong&quot;):\n                string = string[5:]\n                ok_list.append(&quot;int &quot;+string)\n                inner = inner + f&quot;ulong {string}=(ulong){string}Py;&quot;\n            elif string.startswith(&quot;refulong&quot;):\n                string = string[8:]\n                ok_list.append(&quot;int ref &quot;+string)\n                inner = inner + f&quot;ulong {string}=(ulong){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;ulong:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;refdouble&quot;):\n                string = string[9:]\n                ok_list.append(&quot;double ref &quot; + string)\n                inner = inner + f&quot;double {string}=(double){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;double:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;double&quot;):\n                string = string[6:]\n                ok_list.append(&quot;double &quot; + string)\n                inner = inner + f&quot;double {string}=(double){string}Py;&quot;\n            elif string.startswith(&quot;string&quot;):\n                string = string[6:]\n                ok_list.append(&quot;string &quot;+string)\n                inner = inner + f&quot;string {string}=(string){string}Py;&quot;\n            elif string.startswith(&quot;StringBuilder&quot;):\n                string = string[13:]\n                ok_list.append(&quot;String &quot; + string)\n                inner = inner + f&quot;StringBuilder {string}=(StringBuilder){string}Py;&quot;\n            elif string.startswith(&quot;bool&quot;):\n                string = string[4:]\n                ok_list.append(&quot;bool &quot; + string)\n                inner = inner + f&quot;bool {string}=(bool){string}Py;&quot;\n            # elif string.startswith(&quot;dvpOutputIo&quot;):\n            #     string = string[11:]\n            #     ok_list.append(&quot;int &quot; + string)\n            # elif string.startswith(&quot;dvpRegion&quot;):\n            #     string = string[9:]\n            #     ok_list.append(&quot;int &quot; + string)\n            # elif string.startswith(&quot;dvpOpenMode&quot;):\n            #     string = string[11:]\n            #     ok_list.append(&quot;int &quot; + string)\n            # elif string.startswith(&quot;dvpInputIo&quot;):\n            #     string = string[10:]\n            #     ok_list.append(&quot;int &quot; + string)\n            # elif string.startswith(&quot;dvpLine&quot;):\n            #     string = string[7:]\n            #     ok_list.append(&quot;int &quot; + string)\n            # elif string.startswith(&quot;dvpTriggerSource&quot;):\n            #     string = string[16:]\n            #     ok_list.append(&quot;int &quot; + string)\n            elif string.startswith(&quot;refuint&quot;):\n                string = string[7:]\n                ok_list.append(&quot;int ref &quot; + string)\n                inner = inner + f&quot;uint {string}=(uint){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;uint:&quot;+{string}.ToString()'\n            # elif string.startswith(&quot;refdvp&quot;):\n            #     string = string[6:]\n            #     ok_list.append(&quot;@@@@@@@@@@ &quot; + string)\n            elif string.startswith(&quot;refint&quot;):\n                string = string[6:]\n                ok_list.append(&quot;int ref &quot; + string)\n                inner = inner + f&quot;int {string}=(int){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;int:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;reffloat&quot;):\n                string = string[8:]\n                ok_list.append(&quot;float ref &quot; + string)\n                inner = inner + f&quot;float {string}=(float){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;float:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;IntPtr&quot;):\n                string = string[6:]\n                ok_list.append(&quot;IntPtr\u600e\u4e48\u641e &quot; + string)\n                inner = inner + f&quot;uint {string}=(uint){string}Py;&quot;\n                flag=1\n            elif string.startswith(&quot;refIntPtr&quot;):\n                string = string[9:]\n                ok_list.append(&quot;REFIntPtr\u600e\u4e48\u641e &quot; + string)\n                inner = inner + f&quot;uint {string}=(uint){string}Py;&quot;\n                flag=1\n            elif string.startswith(&quot;refbool&quot;):\n                string = string[7:]\n                ok_list.append(&quot;bool  ref &quot; + string)\n                inner = inner + f&quot;bool {string}=(bool){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;bool:&quot;+{string}.ToString()'\n            # elif string.startswith(&quot;dvp&quot;):\n            #     string = string[0:]\n            #     print(string)\n            #     ok_list.append(&quot;bool  &quot; + string)\n\n\n\n\n            #\u4e0b\u9762\u662f\u5168\u90e8\u7684\u7ed3\u6784\u4f53\n            elif string.startswith(&quot;dvpAeConfig&quot;):\n                string = string[11:]\n                ok_list.append(&quot;string &quot; + string)\n                inner = inner + f&quot;dvpAeConfig {string}=new dvpAeConfig();&quot;\n            elif string.startswith(&quot;dvpBufferConfig&quot;):\n                string = string[15:]\n                ok_list.append(&quot;string &quot; + string)\n                inner = inner + f&quot;dvpBufferConfig {string}=new dvpBufferConfig();&quot;\n            elif string.startswith(&quot;dvpCameraInfo&quot;):\n                string = string[13:]\n                ok_list.append(&quot;string &quot; + string)\n                inner = inner + f&quot;dvpCameraInfo {string}=new dvpCameraInfo();&quot;\n            elif string.startswith(&quot;dvpColorCorrection&quot;):\n                string = string[18:]\n                ok_list.append(&quot;string &quot; + string)\n                inner = inner + f&quot;dvpColorCorrection {string}=new dvpColorCorrection();&quot;\n            elif string.startswith(&quot;dvpColorMatrix&quot;):\n                string = string[14:]\n                ok_list.append(&quot;string &quot; + string)\n                inner = inner + f&quot;dvpColorMatrix {string}=new dvpColorMatrix();&quot;\n            elif string.startswith(&quot;dvpCurveArray&quot;):\n                string = string[13:]\n                ok_list.append(&quot;string &quot; + string)\n                inner = inner + f&quot;dvpCurveArray {string}=new dvpCurveArray();&quot;\n            elif string.startswith(&quot;dvpCurveLut&quot;):\n                string = string[11:]\n                ok_list.append(&quot;string &quot; + string)\n                inner = inner + f&quot;dvpCurveLut {string}=new dvpCurveLut();&quot;\n            elif string.startswith(&quot;dvpDoubleDescr&quot;):\n                string = string[14:]\n                ok_list.append(&quot;string &quot; + string)\n                inner = inner + f&quot;dvpDoubleDescr {string}=new dvpDoubleDescr();&quot;\n            elif string.startswith(&quot;dvpFloatDescr&quot;):\n                string = string[13:]\n                ok_list.append(&quot;string &quot; + string)\n                inner = inner + f&quot;dvpFloatDescr {string}=new dvpFloatDescr();&quot;\n            elif string.startswith(&quot;dvpFormatSelection&quot;):\n                string = string[18:]\n                ok_list.append(&quot;string &quot; + string)\n                inner = inner + f&quot;dvpFormatSelection {string}=new dvpFormatSelection();&quot;\n            elif string.startswith(&quot;dvpFrameBuffer&quot;):\n                string = string[14:]\n                ok_list.append(&quot;string &quot; + string)\n                inner = inner + f&quot;dvpFrameBuffer {string}=new dvpFrameBuffer();&quot;\n            elif string.startswith(&quot;dvpFrameCount&quot;):\n                string = string[13:]\n                ok_list.append(&quot;string &quot; + string)\n                inner = inner + f&quot;dvpFrameCount {string}=new dvpFrameCount();&quot;\n            elif string.startswith(&quot;dvpFrame&quot;):\n                string = string[8:]\n                ok_list.append(&quot;string &quot; + string)\n                inner = inner + f&quot;dvpFrame {string}=new dvpFrame();&quot;\n            elif string.startswith(&quot;dvpFunctionInfo&quot;):\n                string = string[15:]\n                ok_list.append(&quot;string &quot; + string)\n                inner = inner + f&quot;dvpFunctionInfo {string}=new dvpFunctionInfo();&quot;\n            elif string.startswith(&quot;dvpIntDescr&quot;):\n                string = string[11:]\n                ok_list.append(&quot;string &quot; + string)\n                inner = inner + f&quot;dvpIntDescr {string}=new dvpIntDescr();&quot;\n            elif string.startswith(&quot;dvpLineInfo&quot;):\n                string = string[11:]\n                ok_list.append(&quot;string &quot; + string)\n                inner = inner + f&quot;dvpLineInfo {string}=new dvpLineInfo();&quot;\n            elif string.startswith(&quot;dvpLineTriggerConfig&quot;):\n                string = string[20:]\n                ok_list.append(&quot;string &quot; + string)\n                inner = inner + f&quot;dvpLineTriggerConfig {string}=new dvpLineTriggerConfig();&quot;\n            elif string.startswith(&quot;dvpPoint2f&quot;):\n                string = string[10:]\n                ok_list.append(&quot;string &quot; + string)\n                inner = inner + f&quot;dvpPoint2f {string}=new dvpPoint2f();&quot;\n            elif string.startswith(&quot;dvpPoint3c&quot;):\n                string = string[10:]\n                ok_list.append(&quot;string &quot; + string)\n                inner = inner + f&quot;dvpPoint3c {string}=new dvpPoint3c();&quot;\n            elif string.startswith(&quot;dvpQuickRoi&quot;):\n                string = string[11:]\n                ok_list.append(&quot;string &quot; + string)\n                inner = inner + f&quot;dvpQuickRoi {string}=new dvpQuickRoi();&quot;\n            elif string.startswith(&quot;dvpRegionDescr&quot;):\n                string = string[14:]\n                ok_list.append(&quot;string &quot; + string)\n                inner = inner + f&quot;dvpRegionDescr {string}=new dvpRegionDescr();&quot;\n            elif string.startswith(&quot;dvpRegion&quot;):\n                string = string[9:]\n                ok_list.append(&quot;string &quot; + string)\n                inner = inner + f&quot;dvpRegion {string}=new dvpRegion();&quot;\n            elif string.startswith(&quot;dvpResolutionMode&quot;):\n                string = string[17:]\n                ok_list.append(&quot;string &quot; + string)\n                inner = inner + f&quot;dvpResolutionMode {string}=new dvpResolutionMode();&quot;\n            elif string.startswith(&quot;dvpSelectionDescr&quot;):\n                string = string[17:]\n                ok_list.append(&quot;string &quot; + string)\n                inner = inner + f&quot;dvpSelectionDescr {string}=new dvpSelectionDescr();&quot;\n            elif string.startswith(&quot;dvpSelection&quot;):\n                string = string[12:]\n                ok_list.append(&quot;string &quot; + string)\n                inner = inner + f&quot;dvpSelection {string}=new dvpSelection();&quot;\n            elif string.startswith(&quot;dvpSensorInfo&quot;):\n                string = string[13:]\n                ok_list.append(&quot;string &quot; + string)\n                inner = inner + f&quot;dvpSensorInfo {string}=new dvpSensorInfo();&quot;\n            elif string.startswith(&quot;dvpTemperatureInfo&quot;):\n                string = string[18:]\n                ok_list.append(&quot;string &quot; + string)\n                inner = inner + f&quot;dvpTemperatureInfo {string}=new dvpTemperatureInfo();&quot;\n            elif string.startswith(&quot;dvpUint64Descr&quot;):\n                string = string[14:]\n                ok_list.append(&quot;string &quot; + string)\n                inner = inner + f&quot;dvpUint64Descr {string}=new dvpUint64Descr();&quot;\n            elif string.startswith(&quot;dvpUintDescr&quot;):\n                string = string[12:]\n                ok_list.append(&quot;string &quot; + string)\n                inner = inner + f&quot;dvpUintDescr {string}=new dvpUintDescr();&quot;\n            elif string.startswith(&quot;dvpUserIoInfo&quot;):\n                string = string[13:]\n                ok_list.append(&quot;string &quot; + string)\n                inner = inner + f&quot;dvpUserIoInfo {string}=new dvpUserIoInfo();&quot;\n            elif string.startswith(&quot;dvpVariant&quot;):\n                string = string[10:]\n                ok_list.append(&quot;string &quot; + string)\n                inner = inner + f&quot;dvpVariant {string}=new dvpVariant();&quot;\n\n            elif string.startswith(&quot;RECT&quot;):\n                string = string[4:]\n                ok_list.append(&quot;string &quot; + string)\n                inner = inner + f&quot;RECT {string}=new RECT();&quot;\n\n\n\n\n\n\n\n            #\u4e0b\u9762\u662f\u7ed3\u6784\u4f53 \u5f15\u7528\u7c7b\u578b\u53c2\u6570\n            elif string.startswith(&quot;refdvpAeConfig&quot;):\n                string = string[14:]\n                ok_list.append(&quot;string ref &quot; + string)\n                inner = inner + f&quot;dvpAeConfig {string}=new dvpAeConfig();&quot;\n                PrintStructValues = PrintStructValues + f&quot;+ PrintStructValues({string})&quot;\n            elif string.startswith(&quot;refdvpBufferConfig&quot;):\n                string = string[18:]\n                ok_list.append(&quot;string ref &quot; + string)\n                inner = inner + f&quot;dvpBufferConfig {string}=new dvpBufferConfig();&quot;\n                PrintStructValues = PrintStructValues + f&quot;+ PrintStructValues({string})&quot;\n            elif string.startswith(&quot;refdvpCameraInfo&quot;):\n                string = string[16:]\n                ok_list.append(&quot;string ref &quot; + string)\n                inner = inner + f&quot;dvpCameraInfo {string}=new dvpCameraInfo();&quot;\n                PrintStructValues = PrintStructValues + f&quot;+ PrintStructValues({string})&quot;\n            elif string.startswith(&quot;refdvpColorCorrection&quot;):\n                string = string[21:]\n                ok_list.append(&quot;string ref &quot; + string)\n                inner = inner + f&quot;dvpColorCorrection {string}=new dvpColorCorrection();&quot;\n                PrintStructValues = PrintStructValues + f&quot;+ PrintStructValues({string})&quot;\n            elif string.startswith(&quot;refdvpColorMatrix&quot;):\n                string = string[17:]\n                ok_list.append(&quot;string ref &quot; + string)\n                inner = inner + f&quot;dvpColorMatrix {string}=new dvpColorMatrix();&quot;\n                PrintStructValues = PrintStructValues + f&quot;+ PrintStructValues({string})&quot;\n            elif string.startswith(&quot;refdvpCurveArray&quot;):\n                string = string[16:]\n                ok_list.append(&quot;string ref &quot; + string)\n                inner = inner + f&quot;dvpCurveArray {string}=new dvpCurveArray();&quot;\n                PrintStructValues = PrintStructValues + f&quot;+ PrintStructValues({string})&quot;\n            elif string.startswith(&quot;refdvpCurveLut&quot;):\n                string = string[14:]\n                ok_list.append(&quot;string ref &quot; + string)\n                inner = inner + f&quot;dvpCurveLut {string}=new dvpCurveLut();&quot;\n                PrintStructValues = PrintStructValues + f&quot;+ PrintStructValues({string})&quot;\n            elif string.startswith(&quot;refdvpDoubleDescr&quot;):\n                string = string[17:]\n                ok_list.append(&quot;string ref &quot; + string)\n                inner = inner + f&quot;dvpDoubleDescr {string}=new dvpDoubleDescr();&quot;\n                PrintStructValues = PrintStructValues + f&quot;+ PrintStructValues({string})&quot;\n            elif string.startswith(&quot;refdvpFloatDescr&quot;):\n                string = string[16:]\n                ok_list.append(&quot;string ref &quot; + string)\n                inner = inner + f&quot;dvpFloatDescr {string}=new dvpFloatDescr();&quot;\n                PrintStructValues = PrintStructValues + f&quot;+ PrintStructValues({string})&quot;\n            elif string.startswith(&quot;refdvpFormatSelection&quot;):\n                string = string[21:]\n                ok_list.append(&quot;string ref &quot; + string)\n                inner = inner + f&quot;dvpFormatSelection {string}=new dvpFormatSelection();&quot;\n                PrintStructValues = PrintStructValues + f&quot;+ PrintStructValues({string})&quot;\n            elif string.startswith(&quot;refdvpFrameBuffer&quot;):\n                string = string[17:]\n                ok_list.append(&quot;string ref &quot; + string)\n                inner = inner + f&quot;dvpFrameBuffer {string}=new dvpFrameBuffer();&quot;\n                PrintStructValues = PrintStructValues + f&quot;+ PrintStructValues({string})&quot;\n            elif string.startswith(&quot;refdvpFrameCount&quot;):\n                string = string[16:]\n                ok_list.append(&quot;string ref &quot; + string)\n                inner = inner + f&quot;dvpFrameCount {string}=new dvpFrameCount();&quot;\n                PrintStructValues = PrintStructValues + f&quot;+ PrintStructValues({string})&quot;\n            elif string.startswith(&quot;refdvpFrame&quot;):\n                string = string[11:]\n                ok_list.append(&quot;string ref &quot; + string)\n                inner = inner + f&quot;dvpFrame {string}=new dvpFrame();&quot;\n                PrintStructValues = PrintStructValues + f&quot;+ PrintStructValues({string})&quot;\n            elif string.startswith(&quot;refdvpFunctionInfo&quot;):\n                string = string[18:]\n                ok_list.append(&quot;string ref &quot; + string)\n                inner = inner + f&quot;dvpFunctionInfo {string}=new dvpFunctionInfo();&quot;\n                PrintStructValues = PrintStructValues + f&quot;+ PrintStructValues({string})&quot;\n            elif string.startswith(&quot;refdvpIntDescr&quot;):\n                string = string[14:]\n                ok_list.append(&quot;string ref &quot; + string)\n                inner = inner + f&quot;dvpIntDescr {string}=new dvpIntDescr();&quot;\n                PrintStructValues = PrintStructValues + f&quot;+ PrintStructValues({string})&quot;\n            elif string.startswith(&quot;refdvpLineInfo&quot;):\n                string = string[14:]\n                ok_list.append(&quot;string ref &quot; + string)\n                inner = inner + f&quot;dvpLineInfo {string}=new dvpLineInfo();&quot;\n                PrintStructValues = PrintStructValues + f&quot;+ PrintStructValues({string})&quot;\n            elif string.startswith(&quot;refdvpLineTriggerConfig&quot;):\n                string = string[23:]\n                ok_list.append(&quot;string ref &quot; + string)\n                inner = inner + f&quot;dvpLineTriggerConfig {string}=new dvpLineTriggerConfig();&quot;\n                PrintStructValues = PrintStructValues + f&quot;+ PrintStructValues({string})&quot;\n            elif string.startswith(&quot;refdvpPoint2f&quot;):\n                string = string[13:]\n                ok_list.append(&quot;string ref &quot; + string)\n                inner = inner + f&quot;dvpPoint2f {string}=new dvpPoint2f();&quot;\n                PrintStructValues = PrintStructValues + f&quot;+ PrintStructValues({string})&quot;\n            elif string.startswith(&quot;refdvpPoint3c&quot;):\n                string = string[13:]\n                ok_list.append(&quot;string ref &quot; + string)\n                inner = inner + f&quot;dvpPoint3c {string}=new dvpPoint3c();&quot;\n                PrintStructValues = PrintStructValues + f&quot;+ PrintStructValues({string})&quot;\n            elif string.startswith(&quot;refdvpQuickRoi&quot;):\n                string = string[14:]\n                ok_list.append(&quot;string ref &quot; + string)\n                inner = inner + f&quot;dvpQuickRoi {string}=new dvpQuickRoi();&quot;\n                PrintStructValues = PrintStructValues + f&quot;+ PrintStructValues({string})&quot;\n            elif string.startswith(&quot;refdvpRegionDescr&quot;):\n                string = string[17:]\n                ok_list.append(&quot;string ref &quot; + string)\n                inner = inner + f&quot;dvpRegionDescr {string}=new dvpRegionDescr();&quot;\n                PrintStructValues = PrintStructValues + f&quot;+ PrintStructValues({string})&quot;\n            elif string.startswith(&quot;refdvpRegion&quot;):\n                string = string[12:]\n                ok_list.append(&quot;string ref &quot; + string)\n                inner = inner + f&quot;dvpRegion {string}=new dvpRegion();&quot;\n                PrintStructValues = PrintStructValues + f&quot;+ PrintStructValues({string})&quot;\n            elif string.startswith(&quot;refdvpResolutionMode&quot;):\n                string = string[20:]\n                ok_list.append(&quot;string ref &quot; + string)\n                inner = inner + f&quot;dvpResolutionMode {string}=new dvpResolutionMode();&quot;\n                PrintStructValues = PrintStructValues + f&quot;+ PrintStructValues({string})&quot;\n            elif string.startswith(&quot;refdvpSelectionDescr&quot;):\n                string = string[20:]\n                ok_list.append(&quot;string ref &quot; + string)\n                inner = inner + f&quot;dvpSelectionDescr {string}=new dvpSelectionDescr();&quot;\n                PrintStructValues = PrintStructValues + f&quot;+ PrintStructValues({string})&quot;\n            elif string.startswith(&quot;refdvpSelection&quot;):\n                string = string[15:]\n                ok_list.append(&quot;string ref &quot; + string)\n                inner = inner + f&quot;dvpSelection {string}=new dvpSelection();&quot;\n                PrintStructValues = PrintStructValues + f&quot;+ PrintStructValues({string})&quot;\n            elif string.startswith(&quot;refdvpSensorInfo&quot;):\n                string = string[16:]\n                ok_list.append(&quot;string ref &quot; + string)\n                inner = inner + f&quot;dvpSensorInfo {string}=new dvpSensorInfo();&quot;\n                PrintStructValues = PrintStructValues + f&quot;+ PrintStructValues({string})&quot;\n            elif string.startswith(&quot;refdvpTemperatureInfo&quot;):\n                string = string[21:]\n                ok_list.append(&quot;string ref &quot; + string)\n                inner = inner + f&quot;dvpTemperatureInfo {string}=new dvpTemperatureInfo();&quot;\n                PrintStructValues = PrintStructValues + f&quot;+ PrintStructValues({string})&quot;\n            elif string.startswith(&quot;refdvpUint64Descr&quot;):\n                string = string[17:]\n                ok_list.append(&quot;string ref &quot; + string)\n                inner = inner + f&quot;dvpUint64Descr {string}=new dvpUint64Descr();&quot;\n                PrintStructValues = PrintStructValues + f&quot;+ PrintStructValues({string})&quot;\n            elif string.startswith(&quot;refdvpUintDescr&quot;):\n                string = string[15:]\n                ok_list.append(&quot;string ref &quot; + string)\n                inner = inner + f&quot;dvpUintDescr {string}=new dvpUintDescr();&quot;\n                PrintStructValues = PrintStructValues + f&quot;+ PrintStructValues({string})&quot;\n            elif string.startswith(&quot;refdvpUserIoInfo&quot;):\n                string = string[16:]\n                ok_list.append(&quot;string ref &quot; + string)\n                inner = inner + f&quot;dvpUserIoInfo {string}=new dvpUserIoInfo();&quot;\n                PrintStructValues = PrintStructValues + f&quot;+ PrintStructValues({string})&quot;\n            elif string.startswith(&quot;refdvpVariant&quot;):\n                string = string[13:]\n                ok_list.append(&quot;string ref &quot; + string)\n                inner = inner + f&quot;dvpVariant {string}=new dvpVariant();&quot;\n                PrintStructValues = PrintStructValues + f&quot;+ PrintStructValues({string})&quot;\n            elif string.startswith(&quot;refRECT&quot;):\n                string = string[7:]\n                ok_list.append(&quot;string ref &quot; + string)\n                inner = inner + f&quot;RECT {string}=new RECT();&quot;\n                PrintStructValues = PrintStructValues + f&quot;+ PrintStructValues({string})&quot;\n\n\n            # \u4e0b\u9762\u662f\u5168\u90e8\u7684\u679a\u4e3e\n            elif string.startswith(&quot;dvpCurveStyle&quot;):\n                string = string[13:]\n                ok_list.append(&quot;int &quot; + string)\n                inner = inner + f&quot;dvpCurveStyle {string}=(dvpCurveStyle){string}Py;&quot;\n            elif string.startswith(&quot;dvpAeMode&quot;):\n                string = string[9:]\n                ok_list.append(&quot;int &quot; + string)\n                inner = inner + f&quot;dvpAeMode {string}=(dvpAeMode){string}Py;&quot;\n            elif string.startswith(&quot;dvpAeOperation&quot;):\n                string = string[14:]\n                ok_list.append(&quot;int &quot; + string)\n                inner = inner + f&quot;dvpAeOperation {string}=(dvpAeOperation){string}Py;&quot;\n            elif string.startswith(&quot;dvpAntiFlick&quot;):\n                string = string[12:]\n                ok_list.append(&quot;int &quot; + string)\n                inner = inner + f&quot;dvpAntiFlick {string}=(dvpAntiFlick){string}Py;&quot;\n            elif string.startswith(&quot;dvpAwbOperation&quot;):\n                string = string[15:]\n                ok_list.append(&quot;int &quot; + string)\n                inner = inner + f&quot;dvpAwbOperation {string}=(dvpAwbOperation){string}Py;&quot;\n            elif string.startswith(&quot;dvpBits&quot;):\n                string = string[7:]\n                ok_list.append(&quot;int &quot; + string)\n                inner = inner + f&quot;dvpBits {string}=(dvpBits){string}Py;&quot;\n            elif string.startswith(&quot;dvpBufferMode&quot;):\n                string = string[13:]\n                ok_list.append(&quot;int &quot; + string)\n                inner = inner + f&quot;dvpBufferMode {string}=(dvpBufferMode){string}Py;&quot;\n            elif string.startswith(&quot;dvpCurveStyle&quot;):\n                string = string[13:]\n                ok_list.append(&quot;int &quot; + string)\n                inner = inner + f&quot;dvpCurveStyle {string}=(dvpCurveStyle){string}Py;&quot;\n            elif string.startswith(&quot;dvpEvent&quot;):\n                string = string[8:]\n                ok_list.append(&quot;int &quot; + string)\n                inner = inner + f&quot;dvpEvent {string}=(dvpEvent){string}Py;&quot;\n            elif string.startswith(&quot;dvpFirstPosition&quot;):\n                string = string[16:]\n                ok_list.append(&quot;int &quot; + string)\n                inner = inner + f&quot;dvpFirstPosition {string}=(dvpFirstPosition){string}Py;&quot;\n\n\n            elif string.startswith(&quot;dvpInputIoFunction&quot;):\n                string = string[18:]\n                ok_list.append(&quot;int &quot; + string)\n                inner = inner + f&quot;dvpInputIoFunction {string}=(dvpInputIoFunction){string}Py;&quot;\n            elif string.startswith(&quot;dvpInputIo&quot;):\n                string = string[10:]\n                ok_list.append(&quot;int &quot; + string)\n                inner = inner + f&quot;dvpInputIo {string}=(dvpInputIo){string}Py;&quot;\n\n\n            elif string.startswith(&quot;dvpLineMode&quot;):\n                string = string[11:]\n                ok_list.append(&quot;int &quot; + string)\n                inner = inner + f&quot;dvpLineMode {string}=(dvpLineMode){string}Py;&quot;\n            elif string.startswith(&quot;dvpLineSource&quot;):\n                string = string[13:]\n                ok_list.append(&quot;int &quot; + string)\n                inner = inner + f&quot;dvpLineSource {string}=(dvpLineSource){string}Py;&quot;\n            elif string.startswith(&quot;dvpOpenMode&quot;):\n                string = string[11:]\n                ok_list.append(&quot;int &quot; + string)\n                inner = inner + f&quot;dvpOpenMode {string}=(dvpOpenMode){string}Py;&quot;\n\n            elif string.startswith(&quot;dvpOutputIoFunction&quot;):\n                string = string[19:]\n                ok_list.append(&quot;int &quot; + string)\n                inner = inner + f&quot;dvpOutputIoFunction {string}=(dvpOutputIoFunction){string}Py;&quot;\n            elif string.startswith(&quot;dvpOutputIo&quot;):\n                string = string[11:]\n                ok_list.append(&quot;int &quot; + string)\n                inner = inner + f&quot;dvpOutputIo {string}=(dvpOutputIo){string}Py;&quot;\n\n            elif string.startswith(&quot;dvpReportLevel&quot;):\n                string = string[14:]\n                ok_list.append(&quot;int &quot; + string)\n                inner = inner + f&quot;dvpReportLevel {string}=(dvpReportLevel){string}Py;&quot;\n            elif string.startswith(&quot;dvpReportPart&quot;):\n                string = string[13:]\n                ok_list.append(&quot;int &quot; + string)\n                inner = inner + f&quot;dvpReportPart {string}=(dvpReportPart){string}Py;&quot;\n            elif string.startswith(&quot;dvpSensorPixel&quot;):\n                string = string[14:]\n                ok_list.append(&quot;int &quot; + string)\n                inner = inner + f&quot;dvpSensorPixel {string}=(dvpSensorPixel){string}Py;&quot;\n            elif string.startswith(&quot;dvpSensorType&quot;):\n                string = string[13:]\n                ok_list.append(&quot;int &quot; + string)\n                inner = inner + f&quot;dvpSensorType {string}=(dvpSensorType){string}Py;&quot;\n            elif string.startswith(&quot;dvpStatus&quot;):\n                string = string[9:]\n                ok_list.append(&quot;int &quot; + string)\n                inner = inner + f&quot;dvpStatus {string}=(dvpStatus){string}Py;&quot;\n            elif string.startswith(&quot;dvpStreamEvent&quot;):\n                string = string[14:]\n                ok_list.append(&quot;int &quot; + string)\n                inner = inner + f&quot;dvpStreamEvent {string}=(dvpStreamEvent){string}Py;&quot;\n            elif string.startswith(&quot;dvpStreamFormat&quot;):\n                string = string[15:]\n                ok_list.append(&quot;int &quot; + string)\n                inner = inner + f&quot;dvpStreamFormat {string}=(dvpStreamFormat){string}Py;&quot;\n            elif string.startswith(&quot;dvpStreamState&quot;):\n                string = string[14:]\n                ok_list.append(&quot;int &quot; + string)\n                inner = inner + f&quot;dvpStreamState {string}=(dvpStreamState){string}Py;&quot;\n            elif string.startswith(&quot;dvpStrobeDriver&quot;):\n                string = string[15:]\n                ok_list.append(&quot;int &quot; + string)\n                inner = inner + f&quot;dvpStrobeDriver {string}=(dvpStrobeDriver){string}Py;&quot;\n            elif string.startswith(&quot;dvpStrobeOutputType&quot;):\n                string = string[19:]\n                ok_list.append(&quot;int &quot; + string)\n                inner = inner + f&quot;dvpStrobeOutputType {string}=(dvpStrobeOutputType){string}Py;&quot;\n            elif string.startswith(&quot;dvpTriggerInputType&quot;):\n                string = string[19:]\n                ok_list.append(&quot;int &quot; + string)\n                inner = inner + f&quot;dvpTriggerInputType {string}=(dvpTriggerInputType){string}Py;&quot;\n            elif string.startswith(&quot;dvpTriggerLineMode&quot;):\n                string = string[18:]\n                ok_list.append(&quot;int &quot; + string)\n                inner = inner + f&quot;dvpTriggerLineMode {string}=(dvpTriggerLineMode){string}Py;&quot;\n            elif string.startswith(&quot;dvpTriggerSource&quot;):\n                string = string[16:]\n                ok_list.append(&quot;int &quot; + string)\n                inner = inner + f&quot;dvpTriggerSource {string}=(dvpTriggerSource){string}Py;&quot;\n            elif string.startswith(&quot;dvpUserSet&quot;):\n                string = string[10:]\n                ok_list.append(&quot;int &quot; + string)\n                inner = inner + f&quot;dvpUserSet {string}=(dvpUserSet){string}Py;&quot;\n            elif string.startswith(&quot;dvpImageFormat&quot;):\n                string = string[14:]\n                ok_list.append(&quot;int &quot; + string)\n                inner = inner + f&quot;dvpImageFormat {string}=(dvpImageFormat){string}Py;&quot;\n            elif string.startswith(&quot;dvpDeviceType&quot;):\n                string = string[13:]\n                ok_list.append(&quot;int &quot; + string)\n                inner = inner + f&quot;dvpDeviceType {string}=(dvpDeviceType){string}Py;&quot;\n            elif string.startswith(&quot;dvpLine&quot;):\n                string = string[7:]\n                ok_list.append(&quot;int &quot; + string)\n                inner = inner + f&quot;dvpLine {string}=(dvpLine){string}Py;&quot;\n\n\n\n\n\n\n\n            # \u4e0b\u9762\u662f\u679a\u4e3e\uff08\u5f15\u7528\u7c7b\u578b\u53c2\u6570\uff09\n            elif string.startswith(&quot;refdvpCurveStyle&quot;):\n                string = string[16:]\n                ok_list.append(&quot;int ref &quot; + string)\n                inner = inner + f&quot;dvpCurveStyle {string}=(dvpCurveStyle){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;dvpCurveStyle:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;refdvpAeMode&quot;):\n                string = string[12:]\n                ok_list.append(&quot;int ref &quot; + string)\n                inner = inner + f&quot;dvpAeMode {string}=(dvpAeMode){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;dvpAeMode:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;refdvpAeOperation&quot;):\n                string = string[17:]\n                ok_list.append(&quot;int ref &quot; + string)\n                inner = inner + f&quot;dvpAeOperation {string}=(dvpAeOperation){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;dvpAeOperation:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;refdvpAntiFlick&quot;):\n                string = string[15:]\n                ok_list.append(&quot;int ref &quot; + string)\n                inner = inner + f&quot;dvpAntiFlick {string}=(dvpAntiFlick){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;dvpAntiFlick:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;refdvpAwbOperation&quot;):\n                string = string[18:]\n                ok_list.append(&quot;int ref &quot; + string)\n                inner = inner + f&quot;dvpAwbOperation {string}=(dvpAwbOperation){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;dvpAwbOperation:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;refdvpBits&quot;):\n                string = string[10:]\n                ok_list.append(&quot;int ref &quot; + string)\n                inner = inner + f&quot;dvpBits {string}=(dvpBits){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;dvpBits:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;refdvpBufferMode&quot;):\n                string = string[16:]\n                ok_list.append(&quot;int ref &quot; + string)\n                inner = inner + f&quot;dvpBufferMode {string}=(dvpBufferMode){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;dvpBufferMode:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;refdvpCurveStyle&quot;):\n                string = string[16:]\n                ok_list.append(&quot;int ref &quot; + string)\n                inner = inner + f&quot;dvpCurveStyle {string}=(dvpCurveStyle){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;dvpCurveStyle:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;refdvpEvent&quot;):\n                string = string[11:]\n                ok_list.append(&quot;int ref &quot; + string)\n                inner = inner + f&quot;dvpEvent {string}=(dvpEvent){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;dvpEvent:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;refdvpFirstPosition&quot;):\n                string = string[19:]\n                ok_list.append(&quot;int ref &quot; + string)\n                inner = inner + f&quot;dvpFirstPosition {string}=(dvpFirstPosition){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;dvpFirstPosition:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;refdvpInputIoFunction&quot;):\n                string = string[21:]\n                ok_list.append(&quot;int ref &quot; + string)\n                inner = inner + f&quot;dvpInputIoFunction {string}=(dvpInputIoFunction){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;dvpInputIoFunction:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;refdvpInputIo&quot;):\n                string = string[13:]\n                ok_list.append(&quot;int ref &quot; + string)\n                inner = inner + f&quot;dvpInputIo {string}=(dvpInputIo){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;dvpInputIo:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;refdvpLineMode&quot;):\n                string = string[14:]\n                ok_list.append(&quot;int ref &quot; + string)\n                inner = inner + f&quot;dvpLineMode {string}=(dvpLineMode){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;dvpLineMode:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;refdvpLineSource&quot;):\n                string = string[16:]\n                ok_list.append(&quot;int ref &quot; + string)\n                inner = inner + f&quot;dvpLineSource {string}=(dvpLineSource){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;dvpLineSource:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;refdvpOpenMode&quot;):\n                string = string[14:]\n                ok_list.append(&quot;int ref &quot; + string)\n                inner = inner + f&quot;dvpOpenMode {string}=(dvpOpenMode){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;dvpOpenMode:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;refdvpOutputIoFunction&quot;):\n                string = string[22:]\n                ok_list.append(&quot;int ref &quot; + string)\n                inner = inner + f&quot;dvpOutputIoFunction {string}=(dvpOutputIoFunction){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;dvpOutputIoFunction:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;refdvpOutputIo&quot;):\n                string = string[14:]\n                ok_list.append(&quot;int ref &quot; + string)\n                inner = inner + f&quot;dvpOutputIo {string}=(dvpOutputIo){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;dvpOutputIo:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;refdvpReportLevel&quot;):\n                string = string[17:]\n                ok_list.append(&quot;int ref &quot; + string)\n                inner = inner + f&quot;dvpReportLevel {string}=(dvpReportLevel){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;dvpReportLevel:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;refdvpReportPart&quot;):\n                string = string[16:]\n                ok_list.append(&quot;int ref &quot; + string)\n                inner = inner + f&quot;dvpReportPart {string}=(dvpReportPart){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;dvpReportPart:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;refdvpSensorPixel&quot;):\n                string = string[17:]\n                ok_list.append(&quot;int ref &quot; + string)\n                inner = inner + f&quot;dvpSensorPixel {string}=(dvpSensorPixel){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;dvpSensorPixel:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;refdvpSensorType&quot;):\n                string = string[16:]\n                ok_list.append(&quot;int ref &quot; + string)\n                inner = inner + f&quot;dvpSensorType {string}=(dvpSensorType){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;dvpSensorType:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;refdvpStatus&quot;):\n                string = string[12:]\n                ok_list.append(&quot;int ref &quot; + string)\n                inner = inner + f&quot;dvpStatus {string}=(dvpStatus){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;dvpStatus:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;refdvpStreamEvent&quot;):\n                string = string[17:]\n                ok_list.append(&quot;int ref &quot; + string)\n                inner = inner + f&quot;dvpStreamEvent {string}=(dvpStreamEvent){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;dvpStreamEvent:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;refdvpStreamFormat&quot;):\n                string = string[18:]\n                ok_list.append(&quot;int ref &quot; + string)\n                inner = inner + f&quot;dvpStreamFormat {string}=(dvpStreamFormat){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;dvpStreamFormat:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;refdvpStreamState&quot;):\n                string = string[17:]\n                ok_list.append(&quot;int ref &quot; + string)\n                inner = inner + f&quot;dvpStreamState {string}=(dvpStreamState){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;dvpStreamState:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;refdvpStrobeDriver&quot;):\n                string = string[18:]\n                ok_list.append(&quot;int ref &quot; + string)\n                inner = inner + f&quot;dvpStrobeDriver {string}=(dvpStrobeDriver){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;dvpStrobeDriver:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;refdvpStrobeOutputType&quot;):\n                string = string[22:]\n                ok_list.append(&quot;int ref &quot; + string)\n                inner = inner + f&quot;dvpStrobeOutputType {string}=(dvpStrobeOutputType){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;dvpStrobeOutputType:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;refdvpTriggerInputType&quot;):\n                string = string[22:]\n                ok_list.append(&quot;int ref &quot; + string)\n                inner = inner + f&quot;dvpTriggerInputType {string}=(dvpTriggerInputType){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;dvpTriggerInputType:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;refdvpTriggerLineMode&quot;):\n                string = string[21:]\n                ok_list.append(&quot;int ref &quot; + string)\n                inner = inner + f&quot;dvpTriggerLineMode {string}=(dvpTriggerLineMode){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;dvpTriggerLineMode:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;refdvpTriggerSource&quot;):\n                string = string[19:]\n                ok_list.append(&quot;int ref &quot; + string)\n                inner = inner + f&quot;dvpTriggerSource {string}=(dvpTriggerSource){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;dvpTriggerSource:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;refdvpUserSet&quot;):\n                string = string[13:]\n                ok_list.append(&quot;int ref &quot; + string)\n                inner = inner + f&quot;dvpUserSet {string}=(dvpUserSet){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;dvpUserSet:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;refdvpImageFormat&quot;):\n                string = string[17:]\n                ok_list.append(&quot;int ref &quot; + string)\n                inner = inner + f&quot;dvpImageFormat {string}=(dvpImageFormat){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;dvpImageFormat:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;refdvpDeviceType&quot;):\n                string = string[16:]\n                ok_list.append(&quot;int ref &quot; + string)\n                inner = inner + f&quot;dvpDeviceType {string}=(dvpDeviceType){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;dvpDeviceType:&quot;+{string}.ToString()'\n            elif string.startswith(&quot;refdvpLine&quot;):\n                string = string[10:]\n                ok_list.append(&quot;int ref &quot; + string)\n                inner = inner + f&quot;dvpLine {string}=(dvpLine){string}Py;&quot;\n                returnEnum = returnEnum + f'+&quot;\\\\n&quot;+ &quot;dvpLine:&quot;+{string}.ToString()'\n\n\n\n\n\n\n\n\n\n            else:\n                ok_list.append(string)\n        # print(ok_list)\n\n        xc=&quot;,&quot;.join(ok_list)\n        xc1=[]\n        xc2=[]\n\n        xc3=[]\n        if len(ok_list)&gt;=1:\n            for item in ok_list:\n                # print(item)\n\n                a=item.split()\n                if len(a)&gt;2:\n\n                    xc1.append(&quot;ref &quot;+item.split()[2])\n                    xc3.append(item.split()[0]+&quot; &quot;+item.split()[2])\n                else:\n                    xc1.append(item.split()[1])\n                    xc3.append(item)\n            xc2=&quot;,&quot;.join(xc1)\n        # else:\n        #     xc2=ok_list[0].spi\n        #\u6dfb\u52a0\u540e\u7f00\n        xc = [elem + 'Py' for elem in xc3]\n        xc = &quot;,&quot;.join(xc)\n    # print(xc2)\n\n    # \u4f7f\u7528\u6b63\u5219\u8868\u8fbe\u5f0f\u63d0\u53d6param\u6807\u7b7e\u4e2d\u7684\u6587\u5b57\n    param_list = re.findall(r'&lt;param name=&quot;.*?&quot;&gt;(.*?)&lt;\/param&gt;', section, re.DOTALL)\n\n    # print(param_list)\n    # \u63d0\u53d6\u8fd4\u56de\u503c\u8bf4\u660e\n    returns = re.findall(r'&lt;returns&gt;(.*?)&lt;\/returns&gt;', section)\n    if not returns:\n        returns=[&quot;&quot;]\n    # print(returns)\n\n    #\u63d0\u53d6para\u8bf4\u660e\n    result = re.findall(r&quot;&lt;para&gt;(.*?)&lt;\/para&gt;&quot;, section, flags=re.S)\n    # print(result)\n\n    #\u63d0\u53d6\u51fd\u6570\u8bf4\u660e\n    summary_pattern = r'&lt;summary&gt;(.+?)&lt;\\\/summary&gt;'\n    match = re.search(summary_pattern, section, flags=re.DOTALL)\n\n    if match:\n        summary_text = match.group(1).strip()\n        # print(summary_text)\n        lines = summary_text.split('\\n')\n        first_line = lines[0].replace('\/\/\/', '').strip()\n        # print(first_line)\n\n    result1=[f'{x}:{y}\\n'for x,y in zip(param_names,param_list)]\n    # print(result1)\n    tmp=&quot;\\t:param &quot;+&quot;\\t:param &quot;.join(result1)\n    # print(tmp)\n    all+=f'\\ndef {func_name}(self,{&quot;,&quot;.join(param_names)}):\\n\\t&quot;&quot;&quot;\\n\\t{first_line}\\n{tmp}\\t:return:{returns[0]}\\n\\t&quot;&quot;&quot;\\n\\treturn self.instance.{func_name}({&quot;,&quot;.join(param_names)})\\n'\n    # print(all)\n#\u5199\u5165\u6587\u4ef6\u4e2d\n# with open('success.txt', 'w', encoding='utf-8') as f:\n#     f.write(all)\n\n    if flag==1:\n        # print(func_name)\n        continue\n\n    # print(inner)\n    # print(f'public static string {func_name}({xc}){{{inner} return DVPCamera.{func_name}({xc2}).ToString();}}')\n\n    PrintStructValues=f'+&quot;\\\\n&quot;{PrintStructValues}'\n\n    if PrintStructValues=='+&quot;\\\\n&quot;':\n        PrintStructValues=&quot;&quot;\n    # returnEnum=f'+&quot;\\\\n&quot;{returnEnum}&quot;'\n    # returnEnum='+&quot;\\\\n&quot;'.join(returnEnum)\n    if returnEnum == '+&quot;\\\\n&quot;&quot;':\n        returnEnum = &quot;&quot;\n\n    print(f'public static string {func_name}({xc}){{{inner} return &quot;dvpStatus:&quot; + DVPCamera.{func_name}({xc2}).ToString(){PrintStructValues}{returnEnum};}}')\n\n<\/code><\/pre>\n<h2><a id=\"%E7%94%9F%E6%88%90%E4%BB%A3%E7%A0%81%E6%95%88%E6%9E%9C\" class=\"anchor\" aria-hidden=\"true\"><span class=\"octicon octicon-link\"><\/span><\/a>\u751f\u6210\u4ee3\u7801\u6548\u679c<\/h2>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='http:\/\/zhang.mba\/wp-content\/uploads\/2023\/02\/16766109433022.jpg'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  data-original=\"http:\/\/zhang.mba\/wp-content\/uploads\/2023\/02\/16766109433022.jpg\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" \/><\/div><\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='http:\/\/zhang.mba\/wp-content\/uploads\/2023\/02\/16766109615672.jpg'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  data-original=\"http:\/\/zhang.mba\/wp-content\/uploads\/2023\/02\/16766109615672.jpg\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" \/><\/div><\/p>\n<h2><a id=\"%E5%9C%A8python%E4%B8%AD%E8%B0%83%E7%94%A8\" class=\"anchor\" aria-hidden=\"true\"><span class=\"octicon octicon-link\"><\/span><\/a>\u5728python\u4e2d\u8c03\u7528<\/h2>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='http:\/\/zhang.mba\/wp-content\/uploads\/2023\/02\/16766109875435.jpg'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  data-original=\"http:\/\/zhang.mba\/wp-content\/uploads\/2023\/02\/16766109875435.jpg\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" \/><\/div><br \/>\n<div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='http:\/\/zhang.mba\/wp-content\/uploads\/2023\/02\/16766109999335.jpg'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  data-original=\"http:\/\/zhang.mba\/wp-content\/uploads\/2023\/02\/16766109999335.jpg\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" \/><\/div><\/p>\n<!--CusAds0-->\n<div style=\"font-size: 0px; height: 0px; line-height: 0px; margin: 0; padding: 0; clear: both;\"><\/div>","protected":false},"excerpt":{"rendered":"<p>\u5b9e\u73b0\u7ed3\u6784\u4f53\u4e0e\u679a\u4e3e\u8fd4\u56de\u7ed9python \u5ea6\u7533\u63d0\u4f9b\u7684C#\u5c01\u88c5\u5e93\u4e2d\u7684\u51fd\u6570\u8fd4\u56de\u503c\u662f\u591a\u79cd\u591a\u6837\u7684\uff0c\u5982\u679c\u76f4\u63a5\u8fd4\u56de\u76f8\u5e94\u7c7b\u578b\uff0c\u5728python\u4e2d\u662f\u63a5\u6536\u4e0d\u5230\u7684\uff0c\u5e76\u4e14\u4f1a\u62a5\u9519\u3002\u4f46\u5b57\u7b26\u4e32\u548c\u6574\u578b\u53ef\u4ee5\u6b63\u5e38\u8fd4\u56de\u7ed9python\uff0c\u4e00\u4e2a\u76f8\u5f53\u7136\u7684\u60f3\u6cd5\u5c31\u662f\uff1a\u80fd\u4e0d\u80fd\u5c06\u51fd\u6570\u8fd4\u56de\u7684\u7ed3\u6784\u4f53\u53d8\u6210\u5b57\u7b26\u4e32\uff0c\u5c06\u51fd\u6570\u8fd4 &#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0},"categories":[46,12],"tags":[],"_links":{"self":[{"href":"https:\/\/zhang.mba\/index.php\/wp-json\/wp\/v2\/posts\/1611"}],"collection":[{"href":"https:\/\/zhang.mba\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zhang.mba\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zhang.mba\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zhang.mba\/index.php\/wp-json\/wp\/v2\/comments?post=1611"}],"version-history":[{"count":0,"href":"https:\/\/zhang.mba\/index.php\/wp-json\/wp\/v2\/posts\/1611\/revisions"}],"wp:attachment":[{"href":"https:\/\/zhang.mba\/index.php\/wp-json\/wp\/v2\/media?parent=1611"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zhang.mba\/index.php\/wp-json\/wp\/v2\/categories?post=1611"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zhang.mba\/index.php\/wp-json\/wp\/v2\/tags?post=1611"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}