小编zeh*_*zeh的帖子

为什么协同程序不能与run_in_executor一起使用?

我想运行一个使用协同程序和多线程请求URL的服务.但是我无法将协同程序传递给执行程序中的工作程序.有关此问题的最小示例,请参阅下面的代码:

import time
import asyncio
import concurrent.futures

EXECUTOR = concurrent.futures.ThreadPoolExecutor(max_workers=5)

async def async_request(loop):
    await asyncio.sleep(3)

def sync_request(_):
    time.sleep(3)

async def main(loop):
    futures = [loop.run_in_executor(EXECUTOR, async_request,loop) 
               for x in range(10)]

    await asyncio.wait(futures)

loop = asyncio.get_event_loop()
loop.run_until_complete(main(loop))
Run Code Online (Sandbox Code Playgroud)

导致以下错误:

Traceback (most recent call last):
  File "co_test.py", line 17, in <module>
    loop.run_until_complete(main(loop))
  File "/usr/lib/python3.5/asyncio/base_events.py", line 387, in run_until_complete
    return future.result()
  File "/usr/lib/python3.5/asyncio/futures.py", line 274, in result
    raise self._exception
  File "/usr/lib/python3.5/asyncio/tasks.py", line 239, in _step
    result = coro.send(None)
  File "co_test.py", line 10, in main
    futures …
Run Code Online (Sandbox Code Playgroud)

python-multithreading python-3.x async-await python-asyncio

7
推荐指数
2
解决办法
8574
查看次数

SwiftUI:结构化编辑弹出框(Command + 单击)不显示

在 SwiftUI 教程(链接)中,它说:

按住 Command 键单击文本视图的初始化程序以显示结构化编辑弹出框,然后选择 Embed in VStack

但是,它对我不起作用。

那命令是什么?什么已经被弃用了?

macos xcode swiftui

7
推荐指数
3
解决办法
1893
查看次数

Random Monad是否在replicateM迭代之间独立?

我在纸牌游戏中做了一些假设检验.

为此,我实现了游戏和玩游戏的AI.对于测试,我必须在我的牌组中所有可能的卡片安排的空间上进行抽样(牌组有24张牌,所以有24张不同的牌组初始状态).然而,抽样应该是独立的,因为(a)在洗牌后,每个初始安排应该有概率(1/24!)和(b)如果i和i'是两次洗牌之后的两个初始安排,排列i和然后排列i'是初始排列的概率应该是(1/24!)x(1/24!).[注1]

所以,如果d是我的牌组,那么shuffleDeck 就是我洗牌的功能.我相信随机monad是以概率((suffleDeck d)== i)= 1/24的方式构建的!

但我的问题是:当与函数replicateM交互时,此函数是否独立?换句话说,以下是真的吗?

P((replicateM 2(shuffleDeck d))== [i,i'])= P((suffleDeck d)== i)*P((suffleDeck d)== i')

其中P(x = X)是x为X的概率.

我用于shuffle的代码如下:

import System.Random

shuffleDeck d = do
         seed <- newStdGen 
         return $ shuffle seed d

shuffle :: StdGen -> [Card] -> [Card]
shuffle g [] = [] 
shuffle g d  = c : shuffle g' d'
        where (c, g') = oneRandomCard g d 
              d' = d\\[c]

oneRandomCard :: StdGen -> [Card] -> (Card, StdGen)
oneRandomCard g d …
Run Code Online (Sandbox Code Playgroud)

random haskell random-sample

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

为什么这个条件不会引发异常:(1 == 0 <= 1/0)== False?Python如何解析这个?

为什么评估这个False

1==0 <= 1/0

首先请注意,在Python中:

bols = [False, True] for A in bols: for B in bols: print(f'{str(A):>5}, {str(B):>5}, {str(A<=B):>5}') 输出:

False, False, True False, True, True True, False, False True, True, True 如果你熟悉布尔逻辑,这对你来说应该很自然.

现在它变得奇怪了:

print(1==1 <= 1/1, 1==0 <= 1/1)

日期: True, False

现在它变得更奇怪了:

print(1==0 <= 1/0)

日期: False

为什么最后一个不会抛出一个例外?

我的第一个猜测是因为解析问题.例如,先前的比较我们可以修复添加括号:

print(1==1 <= 1/1, (1==0) <= 1/1)

日期: True, True

但是,如果这个问题是一个解析问题,那么当我们除以0时,为什么python不会引发异常呢?

如果我们在最后一次比较中添加括号,我们可以强制Python提高ZeroDivision Exeption:

print((1==0) <= 1/0)

日期: ZeroDivisionError: division by zero

另外,为什么以下引发异常?

1==1 <= 1/0

日期: ZeroDivisionError: …

python boolean-logic boolean-operations python-3.x

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

为什么不能将两个包含“ includes”的数组进行比较?

Javascript不允许使用includes?比较数组

请参阅以下示例:

let x = [[1,2], [3,4]]
let y = x[0]
let z = [1,2]

console.log(y,z)
// Output: [ 1, 2 ] [ 1, 2 ]
console.log(x.includes(y), x.includes(z))
// Output: true false 
Run Code Online (Sandbox Code Playgroud)

我想一定x.includes(z)true

注释使我意识到了qurestion 检查是否包含一个数组的任何元素,但它不能回答我的问题,因为我想检查数组是否具有完全相同的元素includes不仅使用了一些。

而且,这个问题如何在javascript比较数组并不能解释为什么includes不起作用。它说明了如何做,这不是我的问题的重点。

javascript arrays node.js

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

如何在Openshift中更新秘密(不删除和创建)?

我的服务器中有一个文件夹,我想要在一个容器中的硬币盒内更新.如何在不删除秘密的情况下执行此操作?

我知道以下内容创造了我的秘密: oc create secret generic privkey --from-file=/opt/privkey

我知道以下删除了秘密:

oc delete secret generic privkey

有没有办法不删除?如果我必须删除pod,我很好.

openshift kubernetes

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

Kedro 安装 - 无法卸载`terminado`

运行时kedro install出现以下错误:

Attempting uninstall: terminado
    Found existing installation: terminado 0.8.3
ERROR: Cannot uninstall 'terminado'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
Run Code Online (Sandbox Code Playgroud)

此 github问题建议进行以下修复:

pip install terminado --user --ignore-installed
Run Code Online (Sandbox Code Playgroud)

但它对我不起作用,因为我一直有同样的错误。

注意: 这个问题与this相似,但足够不同,我认为值得单独提出。

python pip kedro

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