1. 系統內置子模塊

系統內置子模塊主要是為了演示和説明腳本如何使用,參數如何正確傳遞等,這裏提供幾個例子進行詳細説明。

1.1 python 傳參

詳細步驟説明:

  1. 定義基本信息

image.png

  1. 定義執行配置

image.png

  1. 參數定義

image.png

  1. 代碼編輯

image.png

完整的代碼內容如下:

def main(params):
    """主函數,params已自動轉換為Python標準類型"""
    
    # 直接獲取參數(自動是對應類型)
    user_id = params.get('user_id', '未知ID')  # 數字類型
    user_name = params.get('user_name', '匿名用户')  # 字符串
    is_admin = params.get('is_admin', False)  # 布爾值
    tags = params.get('tags', [])  # 列表類型
    settings = params.get('settings', {})  # 字典類型(自動轉換完成)

    # 直接使用嵌套參數
    theme = settings.get('theme', 'light')
    notifications = settings.get('notifications', False)

    # 業務邏輯
    print(f"用户 {user_name} (ID: {user_id}) 的主題是 {theme}")
    print(f"管理員: {is_admin}")
    print(f"通知開關: {'開啓' if notifications else '關閉'}")
    print(f"標籤: {', '.join(tags)}")

    return {
        "success": True,
        "data": {
            "user_info": {
                "id": user_id,
                "name": user_name,
                "is_admin": is_admin
            },
            "settings": settings,
            "tags_count": len(tags)
        }
    }
  1. 執行子模塊

執行步驟:

image.png

容器輸出:顯示用户代碼中print的內容(來自 stderr)

image.png

執行結果:顯示純 JSON 格式的返回結果:

image.png

1.2 python 無傳參

詳細步驟説明:

  1. 定義基本信息

image.png

  1. 定義執行配置

image.png

  1. 參數定義(無參數)

image.png

  1. 代碼編輯

image.png

完整的代碼內容如下:

import psutil

def main(params):
    """
    獲取磁盤分區信息並返回結構化數據。
    params: 由執行器自動注入的參數,此處用不到。
    """
    disk_info = []
    
    # 獲取磁盤分區信息
    partitions = psutil.disk_partitions()
    for partition in partitions:
        # --- 這些 print 會顯示在 "容器輸出" 面板中 ---
        print(f"正在檢查分區: {partition.device}")
        print(f"  - 掛載點: {partition.mountpoint}")
        print(f"  - 文件系統: {partition.fstype}")
        
        # 獲取該分區的使用情況
        try:
            usage = psutil.disk_usage(partition.mountpoint)
            partition_data = {
                "device": partition.device,
                "mountpoint": partition.mountpoint,
                "fstype": partition.fstype,
                "total_gb": round(usage.total / (1024**3), 2),
                "used_gb": round(usage.used / (1024**3), 2),
                "free_gb": round(usage.free / (1024**3), 2),
                "percent": usage.percent
            }
            disk_info.append(partition_data)

            # --- 這些 print 也會顯示在 "容器輸出" 面板中 ---
            print(f"  - 總大小: {partition_data['total_gb']} GB")
            print(f"  - 已用: {partition_data['used_gb']} GB ({partition_data['percent']}%)")
            print("-" * 40)

        except Exception as e:
            print(f"  - 錯誤: 獲取分區 {partition.mountpoint} 信息失敗: {e}")
            print("-" * 40)

    # --- 這個 return 的字典會被序列化為 JSON,顯示在 "執行結果" 面板中 ---
    return {
        "success": True,
        "data": {
            "disk_info": disk_info
        }
    }
  1. 執行子模塊

執行步驟:

image.png

容器輸出:顯示用户代碼中print的內容(來自 stderr)

image.png

執行結果:顯示純 JSON 格式的返回結果:

image.png

1.3 shell 傳參

詳細步驟説明:

  1. 定義基本信息

image.png

更多內容和細節,請關注微信公眾號Felix技術私庫