小编Mic*_*zyn的帖子

Python - 列表中的属性设置导致超出最大递归深度

我有以下课程:

class vehicle(object):
    def __init__(self, name):
        self.name = name
        self.kinds_list = ["tank", "car", "motorbike", "bike", "quad" ] 

    @property
    def kind(self):
        return self.kind

    @kind.setter
    def kind(self, x):
        if x in self.kinds_list:
            self.kind = x
        else:
            raise AttributeError('No attribute {0} found !'.format(y))
Run Code Online (Sandbox Code Playgroud)

设置种类会导致超出最大递归深度,即堆栈溢出.

问:如何重新编写setter以使其仅适用于固定列表?

python recursion

13
推荐指数
1
解决办法
4387
查看次数

如何使用python获取默认浏览器的名称

我的脚本每隔X秒运行一次命令.

如果命令类似于"启动www" - >在默认浏览器中打开网站,我希望能够在下次执行命令之前关闭浏览器.

以下脚本的这个简短部分:

if "start www" in command:
    time.sleep(interval - 1)
    os.system("Taskkill /IM chrome.exe /F")
Run Code Online (Sandbox Code Playgroud)

我希望能够支持firefox,即chrome和opera,并且只关闭由URL打开的浏览器.

为此,我需要知道要杀死哪个进程.

如何在Windows中使用python识别我的os默认浏览器?

python

4
推荐指数
1
解决办法
2623
查看次数

标签 统计

python ×2

recursion ×1