小编Kev*_*n91的帖子

在Python 3中生成随机长度的类似随机字符串的最快方法

我知道如何创建随机字符串,如:

''.join(secrets.choice(string.ascii_uppercase + string.digits) for _ in range(N))
Run Code Online (Sandbox Code Playgroud)

但是,应该没有重复,所以我目前只是检查密钥是否已经存在于列表中,如下面的代码所示:

import secrets
import string
import numpy as np


amount_of_keys = 40000

keys = []

for i in range(0,amount_of_keys):
    N = np.random.randint(12,20)
    n_key = ''.join(secrets.choice(string.ascii_uppercase + string.digits) for _ in range(N))
    if not n_key in keys:
        keys.append(n_key)
Run Code Online (Sandbox Code Playgroud)

对于少量的键来说这是可以的40000,但是问题不能很好地扩展,因为有更多的键.所以我想知道是否有更快的方法来获得更多键的结果,比如999999

python string random python-3.x

23
推荐指数
3
解决办法
5610
查看次数

如何禁止在expo/react-native中使用平板电脑?

我已经用 Expo 和 React-native 为智能手机开发了一个应用程序 - 现在我正在尝试将“.aab”文件上传到 Google Play 商店 - 但它似乎也适用于平板电脑和可穿戴设备。我真的不知道如何将其编码到“app.json”或代码本身中,只必须支持智能手机。

此外,甚至不应该从智能手机以外的任何其他设备下载该应用程序,因为这会导致糟糕的用户体验

我尝试了设备目录,但只能选择通过处理器或 RAM 进行阻止 - 有一个简单的解决方案吗?

android google-play react-native expo

12
推荐指数
2
解决办法
7075
查看次数

全球共享有什么作用?

我最近在caffe的Pooling层中找到了"global_pooling"标志,但是在这里的文档(Layer Catalog) 或者这里(Pooling doxygen doc)中无法找到它.

与普通的Pool-Layer行为相比,是否有一个简单的前向解释?

machine-learning image-processing deep-learning caffe conv-neural-network

10
推荐指数
2
解决办法
6784
查看次数

如何在tensorflow中获得PI?

我在Tensorflow API中找不到任何关于数学常量的信息

既不是基础数学函数也不是数学运算.

我能够得到它

import math as m
pi = tf.constant(m.pi)
Run Code Online (Sandbox Code Playgroud)

但是,这意味着要包含另一个库, - 所以我想知道是否存在这样的函数适用于类似的pi或者euler已经在tensorflow中提供的数学常量?

python pi tensorflow

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

如何使用Python 3通过selenium或javascript更改web whatsapp中的活动聊天

我通过Python通过selenium引导web whatsapp,我想知道是否可以更改活动(顶级聊天.如果收到消息,聊天将不会被设置为活动,它将始终保留在后台.

在Javascript中,可以通过以下方式查看控制台中所有聊天的列表:

Store.chat.models
Run Code Online (Sandbox Code Playgroud)

活动聊天存储在零位置,但是通过另一次聊天覆盖位置零将不会使聊天处于活动状态.

我发现有一个名为" x_active" 的变量,如果点击聊天并查看为true(其他所有人都将其视为假),则会更改.

例如:

Store.Chat.models[0].__x_active
Run Code Online (Sandbox Code Playgroud)

但是,在Chrome控制台选项卡中设置变量或true或false并未更改UI中的任何内容,因此如何实现此类行为?

javascript python selenium whatsapp

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

在不保存图像的情况下使用 matplotlib 时移除图像周围的白色边框

我有以下代码:

#load in image
image = cv2.imread('lenna.png')
title = "foo"

ax = plt.axes([0,0,1,1])
ax.clear()
height, width = image.shape[:2]
ax.axis('off')
ax.set_title(title)

#some things plotted etc.
Run Code Online (Sandbox Code Playgroud)

但是随后我需要将该图作为 numpy 数组进行进一步计算,因此我正在执行以下操作:

masked_image = image
ax.imshow(masked_image.astype(np.uint8),interpolation="nearest")
ax.figure.canvas.draw()
w,h = ax.figure.get_size_inches()*ax.figure.get_dpi()
I = np.fromstring(ax.figure.canvas.tostring_rgb(),dtype=np.uint8).reshape(int(h),int(w),3)

#Has the white borders around it
Image.fromarray(I)
Run Code Online (Sandbox Code Playgroud)

但是, I 现在它周围仍然有白色边框,有没有一种简单的方法可以在不保存图形的情况下去除白色边框?

我使用的图像如下:

在此处输入图片说明

它周围没有任何白色边框

但是在上面的代码之后,它看起来像下面这样: 在此处输入图片说明

现在它周围有白条。

其他已经发布的解决方案都依赖于保存图像,这是我不想要的

python matplotlib

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

如何使用带有Anaconda的Python 3.7运行Spyder

我已经在配备Spyder和Python 3.6的Windows 10机器上安装了Anaconda,但我希望升级到Python 3.7

使用Python 3.7创建Anaconda环境非常简单:

conda create --name py37 python=3.7
Run Code Online (Sandbox Code Playgroud)

要么:

conda create --name py370 python=3.7.0 --channel conda-forge
Run Code Online (Sandbox Code Playgroud)

但是,在这种环境中启动Spyder会将其抛回Python 3.6.我尝试直接在Tools -> SettingsSpyder中指定python.exe(对于版本3.7),但是在重新启动时,Spyder内核无法启动并且将显示它们需要包:ipykernelcloudpickle.

conda install在环境中尝试它们时,会出现以下情况:

The following packages will be DOWNGRADED:

    python:           3.7.0-hea74fb7_0      --> 3.6.6-hea74fb7_0
Run Code Online (Sandbox Code Playgroud)

哪个会再次将python从3.7降级到3.6.

我最后的尝试是使用命令:

conda install python==3.7
Run Code Online (Sandbox Code Playgroud)

输出失败了

Solving environment: failed

UnsatisfiableError: The following specifications were found to be in conflict:
  - python-dateutil -> python[version='>=2.7,<2.8.0a0']
  - python-dateutil -> six
  - python==3.7
Use "conda info <package>" to see the dependencies for …
Run Code Online (Sandbox Code Playgroud)

python spyder anaconda python-3.7

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

在 OpenCV 中组合两个仿射变换矩阵

我有两个 2x3 矩阵 A 和 B - 每个矩阵都用于仿射变换。我需要将 A 和 B 组合成第三个矩阵 C,它将把 A 和 B 的仿射变换组合成一个矩阵。

我需要如何将它们相乘?

A B 还是 B A ?

区别在于 A 或 B 被调换了还是根本没有任何区别?

我读到另一个解决方案是使用 3x3 矩阵并复制到前两行中,并且只使用结果中的前两行。但它归结为同样的问题,如果它是 A B 或 B A。

此外,是否有一种简单的方法可以在 OpenCV 中实现这一点,或者我是否需要实现上述每个步骤?

c++ opencv matrix affinetransform

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

RuntimeError:线程“ Thread-1”,多线程和异步错误中没有当前事件循环

我有一个调用asyncio循环的线程,但是这导致了所提到的异常:

RuntimeError: There is no current event loop in thread 'Thread-1'.
Run Code Online (Sandbox Code Playgroud)

这个问题:RuntimeError:异步+ apscheduler中的线程中没有当前事件循环遇到相同的问题,但是它们引用的是我没有的调度程序。

我的代码如下:

def worker(ws):
      l1 = asyncio.get_event_loop()
      l1.run_until_complete(ws.start())  


      l2 = asyncio.get_event_loop()
      l2.run_forever()


if __name__ == '__main__':
    ws = Server()
    p = threading.Thread(target=worker,args=(ws,))
    p.start()


    while True:
        try:
            #...do sth
        except KeyboardInterrupt:
            p.join()
            exit() 
Run Code Online (Sandbox Code Playgroud)

python multithreading python-asyncio

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

使用 OpenCV 在 Python 中模拟磁盘上没有剩余空间的异常的最佳实践

我目前正在为使用网络摄像头捕获图像的 OpenCV 实现编写包装类。我想在磁盘空间已满时捕获错误异常。它的代码如下所示:

cap = cv2.VideoCapture(cam_idx)
ret, frame = cap.retrieve()


try:
 cv2.imwrite('test.png',frame)
except IOError:
 print("ERROR ON WRITING")
Run Code Online (Sandbox Code Playgroud)

虽然这会捕获异常,但我想知道这是否也会捕获其他异常以及如何仅捕获磁盘已满的异常,以及对此代码片段进行测试的最佳实践是什么(除了用这么多东西,硬盘真的满了)

python testing opencv exception

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