我正在用Django編寫一些東西,它變得有點亂。我試圖創建一個應用程序,它可以從可上載的Python模塊運行並返回數據,並帶有用於調用函數的文本輸入字段。 大部分工作,我可以調用沒有參數的函數。 問題是與進入需要的參數功能,則傳遞到Python是字符串形式的任何輸入,這意味着如果我輸入:param('a',[foo])
調用的函數:根據其內容更改python變量
def param(a,b):
return "Hello world" + a + b
該函數將返回:
"Hello world'a'[foo]"
基本上我需要一種方法來獲取一個字符串並將其轉換爲文字python代碼...如果這是可能的,這樣我可以把這個輸入框當作它是python控制檯。
任何想法?任何幫助將非常歡迎!我意識到這不是一種非常pythonic的做事方式。
編輯由於擔心安全問題:我不太擔心安全問題,因爲這隻會是一個本地項目。
你可以用'eval',但它是危險的,這樣對用戶輸入。 – 2015-02-09 19:57:58
一定要知道你在那裏做什麼。運行上傳的代碼會打開幾個安全問題!我不知道你在建什麼,但是想一想,如果這真的是必要的,以及如何使它安全... – kratenko 2015-02-09 20:00:12
@ Alistair401更好的問題是爲什麼你認爲這是解決這個問題的正確方法(提示:它不) – 2015-02-09 20:00:50