python - 动态提取文件中的变量

 离开一场爱的风雪 发布于 2022-10-28 15:14

动态查询包含特定子字符的变量,比如包含JSQ的变量。

JSQEXBasicStructure.JSQEX_Room = function(a) {
    JSQEXBasicStructure.JSQEX_Loop.call(this, a);
    this.JSQEX_innerWalls = [];
    this.JSQEX_graph = null;
    JSQEXBasicStructure.JSQEX_Room =null
};

通过换行或者空格或者“.”提取,searchkey 为 JSQ

                if raw.find(searchkey) != -1:
                    lines = raw.split('\n')
                    for line in lines:
                        chars = line.split(' ') or line.split('.')
                        for char in chars:
                            if char =='':
                                pass
                            elif char.find(searchkey) != -1 and isJSVar(char):
                                    list_of_contain_lines.append(char)
                                    print lines, line, list_of_contain_lines

期待结果:

JSQEXBasicStructure
JSQEX_Room
JSQEX_Loop
JSQEX_innerWalls
JSQEX_roomType
JSQEX_roomHeight

实际结果:

this.JSQEX_innerWalls
this.JSQEX_roomType
this.JSQEX_roomHeight
this.JSQEX_surf
1 个回答
  • 错误在line.split(' ') or line.split('.')

    短路操作的条件不成立啊

    'JSQEXBasicStructure.JSQEX_Room = function(a) {'
    直接结果
    ['JSQEXBasicStructure.JSQEX_Room', '=', 'function(a)', '{']

    2022-10-29 20:46 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有