タプルを使用してコマンドを辞書に保存し、次のようにしてコマンドを保存できます。
command = {}
command['skype'] = 'C:\Program Files (x86)\Skype\Phone', 'Skype.exe'
command['explorer'] = 'C:\Windows\', 'Explorer.exe'
次に、次の手順を実行して、ユーザー入力に基づいて正しいコマンドを実行できます。
if raw_input.lower().strip() in command: # Check to see if input is defined in the dictionary.
os.chdir(command[raw_input][0]) # Gets Tuple item 0 (e.g. C:\Program Files.....)
os.startfile(command[myIraw_inputput][1]) # Gets Tuple item 1 (e.g. Skype.exe)
詳細についてはDictionaries
、Tuples
こちらをご覧ください。
複数のコマンドを許可する必要がある場合は、それらをスペースで区切り、コマンドを配列に分割できます。
for input in raw_input.split():
if input.lower().strip() in command: # Check to see if input is defined in the dictionary.
os.chdir(command[input][0]) # Gets Tuple item 0 (e.g. C:\Program Files.....)
os.startfile(command[input][4]) # Gets Tuple item 1 (e.g. Skype.exe)
これにより、のようなコマンドを発行できますがskype explorer
、タイプミスの余地がないため、空白だけで区切って完全に一致させる必要があることに注意してください。例として、書くことはできますがexplorer
、書くことはできませんexplorer!
。