स्कैन में फ़ाइलों को बनाए जाने पर मैं नियंत्रण करने की कोशिश कर रहा पागल हो रहा हूं। मेरे पास Poem
बिल्डर के साथ एक बहुत ही सरल उदाहरण है (नीचे देखें), .txt
फ़ाइल लेता है और इसे .eectxt
फ़ाइल में कम मामले में परिवर्तित करता है।जब मेरे पास कस्टम निर्माता है तो फाइल बनाने के लिए स्कैन ट्रिगर करता है?
मेरी स्कैनस्ट्रक्चर और स्कॉन्स्क्रिप्ट फ़ाइलों में, मैं 3 .txt फ़ाइलों की निर्भरता घोषित करता हूं।
लेकिन मैं यह नहीं समझ सकता कि इन्हें डिफ़ॉल्ट निर्माण में क्या रखा जा रहा है!
sconstest/
SConstruct
tiger.txt
src/
SConscript
hope.txt
jabberwocky.txt
जहां * .txt फ़ाइलें कविताएं हैं और मेरे SConstruct और SConscript इस तरह दिखेगा:
SConstruct:
env = Environment();
def eecummings(target, source, env):
if (len(target) == 1 and len(source) == 1):
with open(str(source[0]), 'r') as fin:
with open(str(target[0]), 'w') as fout:
for line in fin:
fout.write(line.lower());
return None
env['BUILDERS']['Poem'] = Builder(action=eecummings, suffix='.eectxt', src_suffix='.txt');
Export('env');
poems = SConscript('src/SConscript');
tigerPoem = env.Poem('tiger.txt');
src/SConscript:
Import('env');
input = ['jabberwocky.txt', 'hope.txt'];
output = [env.Poem(x) for x in input];
Return('output');
क्या मैं करना चाहते हैं संबंधितकी निर्भरता घोषित करना हैफाइलें, लेकिन उन्हें तब तक नहीं बनाया जा सकता जब तक कि मैं उन्हें स्पष्ट रूप से स्कैनस्ट्रक्चर फ़ाइल में Default()
में नहीं डालता, या मैं उन्हें कमांड लाइन पर स्पष्ट रूप से अनुरोध करता हूं।
मैं यह कैसे कर सकता हूं?