📅  最后修改于: 2023-12-03 15:11:53.802000             🧑  作者: Mango
本文介绍一个菜单驱动的Python程序,它帮助用户执行Linux命令,使用起来非常简单方便。该程序基于Python 3.x开发,支持Windows和Linux操作系统。
程序首先定义了一个字典commands
,其中预定义了一些命令及其对应的命令行。接着进入main
函数,该函数显示命令列表,读取用户选择的命令编号,并执行选择的命令:
import os
commands = {'1': 'ls -l', '2': 'whoami', '3': 'pwd'}
def display_commands():
print('命令列表:')
for i in commands:
print(f'{i}. {commands[i].split()[0]}')
def get_command_choice():
choice = input('请输入命令编号:')
return commands.get(choice)
def execute_command():
command = get_command_choice()
if command:
os.system(command)
else:
print('命令不存在!')
def main():
display_commands()
execute_command()
if __name__ == '__main__':
main()
执行该程序,用户输入1
后,可以看到ls -l
的输出:
$ python3 menu_program.py
命令列表:
1. ls
2. whoami
3. pwd
请输入命令编号:1
total 4
-rw-r--r-- 1 user user 217 Jun 1 11:42 menu_program.py
用户可以通过添加、修改、删除操作来管理自定义命令,程序将自定义命令存储在一个文本文件中,并在每次程序启动时读取:
import os
COMMANDS_FILE = '.commands'
def save_commands(commands):
with open(COMMANDS_FILE, 'w') as f:
for command in commands:
f.write(command + '\n')
def load_commands():
if os.path.exists(COMMANDS_FILE):
with open(COMMANDS_FILE) as f:
commands = [line.strip() for line in f.readlines()]
return dict(enumerate(commands, start=len(commands)))
else:
return {}
def add_command():
command = input('请输入命令:')
commands = load_commands()
commands[len(commands)] = command
save_commands(commands)
def modify_command():
index = int(input('请输入要修改的命令编号:'))
commands = load_commands()
command = input('请输入修改后的命令:')
commands[index] = command
save_commands(commands)
def delete_command():
index = int(input('请输入要删除的命令编号:'))
commands = load_commands()
del commands[index]
save_commands(commands)
def display_commands():
commands = load_commands()
print('命令列表:')
for i in commands:
print(f'{i}. {commands[i].split()[0]}')
def get_command_choice():
commands = load_commands()
choice = input('请输入命令编号:')
if choice.isdigit() and int(choice) < len(commands):
return commands.get(int(choice))
else:
return None
def execute_command():
command = get_command_choice()
if command:
os.system(command)
else:
print('命令不存在!')
def main():
while True:
display_commands()
print('1. 执行命令')
print('2. 添加命令')
print('3. 修改命令')
print('4. 删除命令')
print('0. 退出')
choice = input('请输入操作编号:')
if choice == '1':
execute_command()
elif choice == '2':
add_command()
elif choice == '3':
modify_command()
elif choice == '4':
delete_command()
elif choice == '0':
break
else:
print('输入有误!')
if __name__ == '__main__':
main()
用户可以选择添加、修改、删除命令,修改和删除前要求用户输入要修改/删除的命令编号,所有自定义命令保存在文件.commands
中,文件不存在时将创建一个空文件。
本文介绍了一个菜单驱动的Python程序,可以帮助用户执行预定义的和自定义的Linux命令。程序使用字典存储命令及其对应的命令行,可以添加、修改、删除自定义命令,自定义命令保存在文件中,在每次程序启动时读取。该程序简单易用,适合初学者学习和使用。