2017-11-20 18 views
0
var1 = "plzHalp" 
cmd = input("> ") 
subcmd = cmd.split(" ") 
if subcmd[0] == "set" and subcmd[1] in setL: 
    secondOp = subcmd[1] 
    cmdVar = subcmd[2] 
    eval(subcmd[1]) = subcmd[2] 
    print("[Set",secondOp,"==>",cmdVar) 

これを実行するには、サブコマンド(subcmd [1])の2番目の部分を割り当て、変数を3番目の部分(subcmd [2])に渡します。 など。コマンドが "set var1 fixedYay"の場合、var1は "fixedYay"に等しくなります。分割入力の最初の部分を2番目の部分(Python3)に設定する方法

答えて

0

質問が正しく分かった場合は、eval(subcmd[1])globals()[subcmd[1]]に置き換える必要があります。以下の例を参照し、globals()関数とlocals()関数を読んでください。

C:\Users\nagul>python                     
Python 3.5.0 (v3.5.0:374f501f4567, Sep 13 2015, 02:16:59) [MSC v.1900 32 bit (Intel)] on win32   
Type "help", "copyright", "credits" or "license" for more information.         
>>> var1='plzHalp'                      
>>> var1_str='var1'                     
>>> print(globals()[var1_str])                   
plzHalp                        
>>> globals()[var1_str]='fixedYay'                  
>>> print(var1)                      
fixedYay                        
>>> 
+0

ありがとうございました! –

関連する問題