小编ᴀʀᴍ*_*ᴍᴀɴ的帖子

python线程以最好的方式终止或终止

问题是我想杀死当前正在运行的所有线程。例如,我有一个调用 for 循环的按钮。突然间我想阻止它。

这是我的代码:

class WorkerThread(threading.Thread):
    def __init__(self,t,*args):
        super(WorkerThread,self).__init__(target=t,args=(args[0],args[3]))
        self.start()
        self.join()
Run Code Online (Sandbox Code Playgroud)

我的实现:

def running(fileopen,methodRun):
    #....long task of code are here...


for file in fileTarget:
        threads.append(WorkerThread(running,file,count,len(fileTarget),"FindHeader"))
Run Code Online (Sandbox Code Playgroud)

python python-multithreading

2
推荐指数
1
解决办法
1万
查看次数

具有指定主节点的 elasticsearch 7.X 集群

我有 3 个弹性节点,如何将三个节点与始终相同的主节点聚集在一起,我没有找到任何关于指定发现和主节点的新弹性 7 方式的好文档:

discovery.seed_hosts: [ ]

cluster.initial_master_nodes: []
Run Code Online (Sandbox Code Playgroud)

例如我有节点a, b, c,我希望节点a掌握应该是什么discovery.seed_hosts以及cluster.initial_master_nodes主节点和子节点

更新

使用 Daniel 回答,并检查端口是否打开并且节点具有相同的集群名称,其他节点没有加入集群,是否需要任何额外的配置?

更新 2

看起来节点找到了彼此,但由于某种原因不能通过选举来选择主节点:

尚未发现或选举主节点,选举需要 2 个具有 id 的节点 [wOZEfOs9TvqGWIHHcKXtkQ, Cs0xaF-BSBGMGB8a-swznA]

解决方案

删除所有节点的文件夹数据启动一个节点,然后添加其他节点,第一个节点(作为主节点)作为种子主机。

elasticsearch

2
推荐指数
1
解决办法
6435
查看次数

Python:根据几个值+ sum合并n-dictionaries

假设我有一个这样的词典列表:

[{'amount': 42140.0, 'name': 'Payment', 'account_id_credit': 385, 'type': u'expense', 'account_id_debit': 476}, 
{'amount': 43926.0, 'name': 'Payment', 'account_id_credit': 695, 'type': u'payable', 'account_id_debit': 641}, 
{'amount': 3800.0, 'name': 'Payment', 'account_id_credit': 695, 'type': u'expense', 'account_id_debit': 476},
{'amount': 46330.0, 'name': 'Payment', 'account_id_credit': 695, 'type': u'expense', 'account_id_debit': 476}, 
{'amount': 67357.0, 'name': 'Payment', 'account_id_credit': 695, 'type': u'payable', 'account_id_debit': 323},
{'amount': 26441.0, 'name': 'Payment', 'account_id_credit': 695, 'type': u'expense', 'account_id_debit': 476} ... ]
Run Code Online (Sandbox Code Playgroud)

我想将字典合并在一起,以便关键的"金额"将是所有amounts字典的总和,其中account_id_creditaccount_id_debit是相同的,但只有type这些是expense.其他types应该保持原样.

最好的方法是什么?

python merge conditional dictionary

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

如何确定列表中的项目是否以某个字符开头?(蟒蛇)

我正在尝试迭代python中的列表,并确定列表中的任何项目是否以字符开头"a".但是,我的代码似乎只检查列表中的第一项,而不是迭代其余的.

def isA(myList):
for i in range(len(myList)):
    if myList[i][0] == "a":
        print "True"
        return True
    else:
        print "False"
        return False
Run Code Online (Sandbox Code Playgroud)

例如,当它应该返回时isA(["acorn", "baseball"])返回True,但isA(["baseball", "acorn"]返回False,True因为列表中有一个项目以a.

python list

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

为什么我的for循环不检查每个字符?

所以我是python的初学者,我不能为我的生活弄清楚为什么它不会检查并添加每个字母

def howstrong (password):
    points = len(password)
    charactersallowed = ["!", "$", "%", "^", "&", "*", "(", ")", "-", "_", "=", "+"]

    for ch in password:
        if ch.isupper():
            points= points+5
        elif ch.islower():
            points = points+5
        elif ch.isdigit():
            points = points+5
        elif ch in charactersallowed:
            points= points+5
        else:
            points = points+0
        return points
Run Code Online (Sandbox Code Playgroud)

如果输入密码密码!在我的代码中它告诉我我的积分是14但是这个密码应该是24?下面我将添加我的其余代码,但我怀疑它在那部分,我相信我的for循环中有一个错误.

def checkingmain():

    while 1:
        p = input("\nEnter password: ")
        if len(p) < 8 or len(p) > 24:
            print("Password must be 6 to 12 characters.")
        elif input("Re-enter password: ") …
Run Code Online (Sandbox Code Playgroud)

python for-loop password-checker

0
推荐指数
1
解决办法
62
查看次数

如何在除第一个元素之外的嵌套列表中将字符串元素转换为整数

我有这个清单:

输入: Templist = [['Resource', '0', '3', ], ['read', '0', '0', '0']]

输出应该是这样的

输出: [['Resource', 0, 3, 7], ['read', 0, 0, 5]]

我想将所有字符串转换为整数,除了Templist中每个列表的第一个元素.

python nested list

-2
推荐指数
1
解决办法
522
查看次数

理解Python函数

目前我有这个功能:

x = 0
limit = 10
y = 7
def basic(x):
    global y
    while x <= limit:
        if x == 0 or 1:
            y += 1
            basic(x+1)
            return x
        else:
            y += 2
            basic(x+1)
            return x

basic(x)
print(y)
Run Code Online (Sandbox Code Playgroud)

当我打印y时它返回18,这意味着它被卡在if语句中并且不会转到else语句但x确实停止在极限,因此y = 18.我在网上查找了各种来源,但我无法得到一个确切的清楚可视化我的问题.

python

-2
推荐指数
1
解决办法
57
查看次数

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