一种简洁的python指令处理脚本

基本代码

如果想增加功能,可以在功能区直接声明新的函数,然后改一下大纲和入口。

python3 复制代码
import re

# 大纲 

def print_help():
     print("""[help
     输入指令以执行。
     输入"."以退出。
     hello : 示例功能,输出"Hello World"
     in [str] [str] : 示例功能,接收两个字符串
     """)

# 功能区

def f1():
    print("Hello World")

def f2(s1, s2):
    print(f"收到字符串{s1}和{s2}")

#入口

while True:
    cmd = input("\n_ ")
    if cmd == ".":
        break
    elif cmd == "hello":
        f1()
    elif s := re.match(r"in (\S+) (\S+)", cmd):
        f2(s.group(1), s.group(2))
    else:
        print_help()

静态化

增加一个设计,可以在执行之前决定一定要执行哪些指令。

python 复制代码
import re

# 大纲 

def print_help():
     print("""[help]
     输入指令以执行。
     输入"."以退出。
     hello : 示例功能,输出"Hello World"
     in [str] [str] : 示例功能,接收两个字符串
     """)

# 功能区

def f1():
    print("Hello World")

def f2(s1, s2):
    print(f"收到字符串{s1}和{s2}")

#入口

def process(cmd):
    if cmd == ".":
        return False
    elif cmd == "hello":
        f1()
    elif s := re.match(r"in (\S+) (\S+)", cmd):
        f2(s.group(1), s.group(2))
    else:
        print_help()
    return True

def run_script():
    while True:
        cmd = input("_")
        if not process(cmd)
            break

# 静态测试

process("hello")

# 启用脚本

run_script()
相关推荐
张np11 小时前
java基础-Deque 接口
java·开发语言
骚戴11 小时前
大语言模型(LLM)进阶:从闭源大模型 API 到开源大模型本地部署,四种接入路径全解析
java·人工智能·python·语言模型·自然语言处理·llm·开源大模型
柒壹漆11 小时前
用Python制作一个USB Hid设备数据收发测试工具
开发语言·git·python
LXS_35711 小时前
Day 16 C++提高之模板
开发语言·c++·笔记·学习方法
盒马盒马11 小时前
Rust:内部可变性 & 型变
开发语言·后端·rust
沐知全栈开发11 小时前
XSLT `<value-of>` 元素详解
开发语言
东哥很忙XH12 小时前
python使用PyQt5开发桌面端串口通信
开发语言·驱动开发·python·qt
手揽回忆怎么睡12 小时前
Java集成whisper.cpp
java·开发语言·whisper
wjs202412 小时前
R 基础语法
开发语言
JS_GGbond12 小时前
用美食来理解JavaScript面向对象编程
开发语言·javascript·美食