我有一個RRD數據庫,我正在嘗試創建,並且我編寫了一個用於構建命令的工具,可以正常工作,並生成預期的輸出。當我真的嘗試在Python中運行rrdtool.create命令時出現問題。這個循環產生一個字符串,我們將其稱之爲rrdStr
,包含以下內容:正確的,據我可以告訴Python rrdtool.create()
'"0x04.rrd", "--step","5",
"DS:TEMP:GAUGE:10:0:100",
"DS:HUMIDITY:GAUGE:10:0:100",
"DS:LIGHT:GAUGE:10:0:1024",
"DS:POT:GAUGE:10:0:1024",
"RRA:AVERAGE:0.5:1:17142",
"RRA:MIN:0.5:1:17142",
"RRA:MAX:0.5:1:17142",
"RRA:AVERAGE:0.5:12:7200",
"RRA:MIN:0.5:12:7200",
"RRA:MAX:0.5:12:7200",
"RRA:AVERAGE:0.5:60:8640",
"RRA:MIN:0.5:60:8640",
"RRA:MAX:0.5:60:8640",
"RRA:AVERAGE:0.5:360:17532",
"RRA:MIN:0.5:360:17532",
"RRA:MAX:0.5:360:17532"'
所有報價和換行符被轉義。
如果我通過了rrdtool.create
這樣的字符串變量:rrdtool.create(rrdStr)
,我得到的輸出
rrdtool.error: you must define at least one Round Robin Archive
但是,如果我複製和上面的輸出直接粘貼到rrdtool.create()
功能,它像它應該到,並創建數據庫。
任何想法是什麼導致這種情況,以及如何解決它?