grpc_client/run_client.py
2025-11-13 03:01:00 +08:00

36 lines
1.0 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
统一启动 gRPC 客户端脚本
自动设置 PYTHONPATH让 generated 下的 cmvr 包可用
用法:
python run_client.py get_joint_state_client
python run_client.py movej_client
"""
import os
import sys
import subprocess
PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))
GENERATED_DIR = os.path.join(PROJECT_ROOT, "generated")
CLIENTS_DIR = os.path.join(PROJECT_ROOT, "clients")
# 添加 generated 到 PYTHONPATH
sys.path.insert(0, GENERATED_DIR)
os.environ["PYTHONPATH"] = GENERATED_DIR + os.pathsep + os.environ.get("PYTHONPATH", "")
if len(sys.argv) < 2:
print("请指定要运行的客户端脚本名例如get_joint_state_client")
sys.exit(1)
client_name = sys.argv[1]
client_script = os.path.join(CLIENTS_DIR, f"{client_name}.py")
if not os.path.isfile(client_script):
print(f"客户端脚本不存在: {client_script}")
sys.exit(1)
# 支持传递额外参数给客户端
subprocess.run([sys.executable, client_script] + sys.argv[2:])