1. 系統內置子模塊
系統內置子模塊主要是為了演示和説明腳本如何使用,參數如何正確傳遞等,這裏提供幾個例子進行詳細説明。
1.1 python 傳參
詳細步驟説明:
- 定義基本信息
- 定義執行配置
- 參數定義
- 代碼編輯
完整的代碼內容如下:
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)
}
}
- 執行子模塊
執行步驟:
容器輸出:顯示用户代碼中print的內容(來自 stderr)
執行結果:顯示純 JSON 格式的返回結果:
1.2 python 無傳參
詳細步驟説明:
- 定義基本信息
- 定義執行配置
- 參數定義(無參數)
- 代碼編輯
完整的代碼內容如下:
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
}
}
- 執行子模塊
執行步驟:
容器輸出:顯示用户代碼中print的內容(來自 stderr)
執行結果:顯示純 JSON 格式的返回結果:
1.3 shell 傳參
詳細步驟説明:
- 定義基本信息
更多內容和細節,請關注微信公眾號Felix技術私庫