我對Python幾乎一無所知,而且我正在使用scons。 (如果你正在閱讀本文,並且知道Python而不是scons,那麼你可能會幫助我!)python/scons help:維護源文件+目標文件列表
有人可以幫我解釋一下如何讓一個變量包含兩個列表?我不確定語法。這是正確的嗎?
buildinfo = // how do you initialize a variable that has fields?
buildinfo.objectFiles = []; // list of the object files
buildinfo.sourceFiles = []; // list of the source files
如果我有一個函數f()返回該結構的變量,什麼是追加F()的返回值到兩個列表最短的路? (真的f()是Sconscript(),但沒關係)。
// call f() several times and append the results onto buildinfo
buildinfo_sub = f(...);
buildinfo.objectFiles.append(buildinfo_sub.objectFiles);
buildinfo.sourceFiles.append(buildinfo_sub.sourceFiles);
buildinfo_sub = f(...);
buildinfo.objectFiles.append(buildinfo_sub.objectFiles);
buildinfo.sourceFiles.append(buildinfo_sub.sourceFiles);
buildinfo_sub = f(...);
buildinfo.objectFiles.append(buildinfo_sub.objectFiles);
buildinfo.sourceFiles.append(buildinfo_sub.sourceFiles);
有沒有更簡單的方法?這不是太長,但足以容易出錯。
編輯:或更好,但我希望定義有兩個字段,objectFiles和來源的簡單類,如果我叫
object1.append(object2)
然後object1將對象2的objectFiles和來源字段添加到其自己,所以我只是做:
buildinfo = BuildInfo([],[]);
buildinfo.append(f(...));
buildinfo.append(f(...));
buildinfo.append(f(...));
啊,thx澄清append vs. extend – 2009-11-10 17:29:03