我想要达到的是这个。 在自己的模块目录中有一系列小模块。 每个模块提供相同的功能。 导入主程序中的所有模块。 使用模块名称调用主程序,并从模块返回值。
import worker_modules
parser = argparse.ArgumentParser(description='download a file through cURL')
parser.add_argument(
'module', help='module to work on')
args = parser.parse.args()
module = args.module
result = module.command(extra args not shown)
结果失败,因为它认为模块没有attr命令。
有没有办法实现这一点 - 我不想动态加载模块,因为我希望将其构建为静态文件。
答案 0 :(得分:0)
您可以使用const processTradeOffer = function(offer) {
return new Promise(function(resolve, reject) {
identyOffer(offer)
.then(function(offerState) {
return finishTradeOffer(offer, offerState);
}).then(function() {
console.log('aqui');
return resolve();
})
})
}
const finishTradeOffer = function(offer, offerState) {
return new Promise(function(resolve, reject) {
if (offerState == 'aceptable') {
acceptTradeOffer(offer).then(function() {
return resolve();
})
} else if (offerState == 'denegable') {
declineTradeOffer(offer).then(function() {
console.log('here');
return resolve();
})
} else if (offerState == 'valida') {
identifyItems(offer).then(function(offerState) {
finishTradeOffer(offer, offerState);
})
}
})
}
sys.modules
这允许您在开始时导入所需的所有模块,而无需动态导入它们。导入模块时,会将其添加到import sys
# parser code...
module = args.module
result = sys.modules[module].command()
dict。