簡體   English   中英

如何在python 3中打印變量用戶輸入?

[英]How to print the variable user input in python 3?

所以基本上,我有一個python程序,但在某些方面我需要幫助。 當用戶輸入變量名時,我希望它打印變量值,而不是變量名,即使變量不存在。 這是我目前所擁有的:

    CMD = input(">>>>  ")

    if CMD[0:17] == "console.printVar(" and CMD[-1:] == ")" and CMD[-2:]!="')":
    try:
        CMD[13:-1]
    except NameError:
        print("Variable "+CMD[13:1]+" Not defined")
        Main()
    else:
        print(CMD[17:-1])
        Main()

哦,以防萬一還不清楚,我正在研究一種編碼語言。

要通過名稱獲取全局變量的值,請使用globals()字典:

name = CMD[17:-1]
print(globals()[name])

您可以使用locals()將本地(函數)范圍作為字典,而使用globals()將全局(模塊)范圍作為字典。 現在,您可能需要閱讀更多有關解析,AST等的信息。

您可以只調用eval(CMD[17:-1])

但是,這不僅計算變量名,還應注意用戶不能對您的代碼進行任何惡意操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM