>>> p = re.compile(r"(\d+)(.*)")
>>> def comp(x):
... n, s = p.match(x).groups()
... return int(n), s
...
>>> ids = ["1009", "1009a", "1009b", "1010", "99"]
>>> [comp(x) for x in ids]
[(1009, ''), (1009, 'a'), (1009, 'b'), (1010, ''), (99, '')]
>>> sorted(ids, key=comp)
['99', '1009', '1009a', '1009b', '1010']
运行此代码时出现的错误是: AttributeError:' NoneType'对象没有属性' mainloop'
我相信我需要最后一个if-statement / mainloop()函数来启动和运行接口,但我不断收到此错误。我真的希望有人知道如何解决这个问题!谢谢!
答案 0 :(得分:2)
您的gui = init_UI()
无法返回。因此,使用None
,gui为return main
。
也许你想在init_UI
结尾处import 'proxy-polyfill';
.
.
_samplePolyfill = () => {
function observe(o, callback) {
return new Proxy(o, {
set(target, property, value) {
callback(property, value);
target[property] = value;
},
});
}
const x = {'name': 'BB-8'};
const p = observe(x, (property, value) => console.warn(property, value));
p.name = 'BB-9';
}
.
.
componentDidMount() {
this._samplePolyfill();
}
?
答案 1 :(得分:1)
init_UI()
默认返回None
;此None
值已分配给gui。
gui = init_UI()
gui.mainloop()
您必须从init_ui返回Tk
对象main
,因此将其分配给gui
,然后在``gui`上调用mainloop
。