亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何獲取字符串并將其用作標識符來調用函數?

如何獲取字符串并將其用作標識符來調用函數?

繁華開滿天機 2023-12-12 21:30:12
我為我的課程創建了一個自動評分器,它使用命令行參數來調用該問題集的關聯函數。我需要將命令行參數提取為字符串,然后將其用作函數調用。在示例中,我將字符串分配給 pset,然后調用 pset 并將 StudentFile 作為參數傳遞。問題在于解釋器將其視為字符串而不是標識符。這是我的代碼的圖片if len(sys.argv) == 2:    try:        # find and store the file        studentFile = helpers.findInSubdirectory(sys.argv[1])        for i in studentFile.split('/'):            if i.endswith('.py'):                pset = i[:-3]        pset(studentFile)
查看完整描述

1 回答

?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

一種不安全的方法是使用eval或查看globals()字典。稍微安全一點的方法是在字典中創建字符串到函數的映射,然后從映射中查找函數。


def foo():

    print('hi')


def bar():

    print('see you')


funs = { 'foo': foo, 'bar': bar }

funs['foo']()


查看完整回答
反對 回復 2023-12-12
  • 1 回答
  • 0 關注
  • 129 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號