我正在使用python并且想知道是否可以向用户询问变量的名称,然后使用此名称创建变量。例如:
var allTestFiles = [];
var TEST_REGEXP = /spec/i;
var pathToModule = function(path) {
return path.replace(/^\/base\//, '').replace(/\.js$/, '');
};
Object.keys(window.__karma__.files).forEach(function(file) {
if (TEST_REGEXP.test(file)) {
// Normalize paths to RequireJS module names.
allTestFiles.push(pathToModule(file));
}
});
require.config({
// Karma serves files under /base, which is the basePath from your config file
baseUrl: '../',
// dynamically load all test files
deps: allTestFiles,
// we have to kickoff jasmine, as it is asynchronous
callback: window.__karma__.start,
paths: {
'jquery' : 'lib/jqm/jquery-1.11.2.min',
'underscore' : 'lib/underscore/underscore',
'backbone' : 'lib/backbone/backbone',
'template' : '../template',
},
shim : {
backbone : {
deps : [ 'underscore', 'jquery' ],
exports : 'Backbone'
}
}
});
我知道可以使用字典来完成,但我想知道在不创建其他对象的情况下是否可行。我正在使用python 3.谢谢。
答案 0 :(得分:2)
您可以使用通过globals()
:
input_name = raw_input("Enter variable name:") # User enters "orange"
globals()[input_name] = 4
print(orange)
如果您不希望将其定义为全局变量,则可以使用locals()
:
input_name = raw_input("Enter variable name:") # User enters "orange"
locals()[input_name] = 4
print(orange)
答案 1 :(得分:1)
如果你的代码在函数之外,你可以通过修改本地代码来实现。
my_name = raw_input("Enter a variable name") # Plain input() in Python 3
localVars = local()
localVars[my_name] = 5
如果你在一个功能中,它就无法完成。 Python在依赖于事先知道变量名称的函数中执行各种优化 - 您无法在函数中动态创建变量。