将标题“Jute制作成Python函数”翻译为汉语,不包括任何特殊字符或引号。

2024-05-19 07:21:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要从以下代码组中创建一个函数:

jsHelperFunctions = """
function getTreeList(treeId) {
            var $tree = $(treeId);
            var itemsList = [];
            var treeList = $($tree.jstree().get_json($tree, {
                            flat: true
            })).each(function(i, val) {
                            itemsList.push($tree.jstree().get_node(val.id))
            })

            return itemsList;
}

function getItemByItemCode(itemCode, itemsList) {
            return itemsList.filter(val => val.original.account_code == 
itemCode)[0]
}"""

这是我上司给我的一行代码:

treeList = driver.execute_script(jsHelperFunctions + """ return 
getTreeList("#tree");""")

尝试了类似的操作,但我不确定(第一个函数):

def get_tree_list(treeId):
tree = treeId
itemsList = []
treeList = tree.jstree().get_json(tree, flat: true).each(function(i, val)
itemsList.push(tree.jstree().get_node(val.id))
return itemsList

还有Py中的valflat是什么?你知道吗


Tags: 函数代码treegetreturnvarfunctionval
1条回答
网友
1楼 · 发布于 2024-05-19 07:21:35

找到了解决办法。我花了几天时间。。。你知道吗

def getTreeList(treeId):
return driver.execute_script(jsHelperFunctions + """ return getTreeList(\""""+ treeId 
+"\");")

treeList = getTreeList("#tree")

而这个。。。你知道吗

def getItemByCode(itemCode, treeList):
"""
    Returns None if the item code is not found
"""
filtered_iterable =  filter(lambda row : row["original"]["item_code"] == itemCode, 
treeList)
filtered_list = list(filtered_iterable)
if len(filtered_list)  == 0:
    return None     
assert(len(filtered_list) == 1) #item codes must be unique - so something's wrong 
return filtered_list[0]

相关问题 更多 >

    热门问题