最近在寫乙個自動化指令碼。遇到乙個頭疼的問題,特記錄下。
在寫指令碼過程中有個程式暫時只能用shell方式呼叫,導致想用執行過程中的變數獲取不到,如下類似:
os.system('d:\\soft\\anaconda3\\python.exe datacenter/get_adacard_yd.py')
嘗試各種雞肋的方式,直接獲取不到,那就間接獲取吧。在get_adacard_yd.py中將用的的變數報存到yaml檔案,其他地方需要用到這個變數直接從yaml讀就完事了。**其實很簡單,如下
def yaml_w(desired_caps):
# 將字典寫入到yaml
curpath = f'/commoncenter'
yamlpath = os.path.join(curpath, "caps.yaml")
# 寫入到yaml檔案
with open(yamlpath, "w", encoding="utf-8") as f:
yaml.dump(desired_caps, f)
def yaml_r():
curpath = f'/commoncenter'
yamlpath = os.path.join(curpath, "caps.yaml")
f = open(yamlpath, 'r', encoding='utf-8')
cfg = f.read()
d = yaml.load(cfg,loader=yaml.fullloader) # 用load方法轉字典
return d
C 實現將程式執行資訊寫入日誌的方法
1.logmanager類 class logmanager logaddress st程式設計客棧ring.concat logaddress,prg datetime.now.year,datetime.now.month,datetime.now.day,program.log streamw...
程式的執行
到目前為止使用的所有變數在本教程中有乙個共同點 在編譯時必須宣告的變數。這將導致兩個問題 第一,很難有條件地宣告乙個變數,把它以外的在if語句塊 在這種情況下它將走出範圍塊結束時 其次,所有陣列的大小必須提前決定程式的執行。例如,以下是不合法的 然而,在許多情況下,這將是有用的能夠大小或調整陣列在程...
shell的執行以及變數
自定義變數 特殊變數 root note01 cat etc shells bin sh bin bash sbin nologin bin dash對於bash 與sh 的關係 root note01 bin ll grep bash rwxr xr x.1 root root 904872 oc...