小编blz*_*blz的帖子

有没有办法在运行中创建子类?

我正在创建一个游戏,其中我有一个复杂的方法来创建实体.

加载级别时,加载代码会读取一堆YAML文件,这些文件包含所有不同可能单元的属性.使用YAML文件,它创建一个所谓的EntityResource对象.此EntityResource对象在生成新单元时充当信息的权威来源.目标是双重的:

  1. 通过对YAML文件的输出执行散列检查来确定作弊行为
  2. 通过让所有单元信息来自单个权威来源来帮助调试.

EntityResource然后将这些对象馈送到EntityFactory对象中以生成特定类型的单元.

我的问题如下. 有没有办法EntityResource根据正在读入的YAML文件的内容动态创建子图?

另外,我希望为这些YAML文件派生的每个子类分配一个单独的元类.有什么警告吗?

python singleton class subclass subclassing

6
推荐指数
2
解决办法
6318
查看次数

哪种形式的unicode规范化适合文本挖掘?

我一直在阅读关于Unicode的主题,但我仍然对规范化及其不同形式感到困惑.简而言之,我正在开展一个项目,涉及从PDF文件中提取文本并执行一些语义文本分析.

我已经设法使用一个简单的python脚本令人满意地提取文本,但现在我需要确保所有等效的正交字符串都有一个(并且只有一个)表示.例如,'fi'印刷结扎应该分解为'f'和'i'.

我看到python的unicodedata.normalize函数提供了几种算法来规范化unicode代码点.有人可以解释之间的区别:

  • NFC
  • NFKC
  • NFD
  • NFKD

我阅读了相关的维基百科文章,但对于我虚弱的大脑来说,它太不透明了.有人可以用简单的英语向我解释这个吗?

另外,您能否为最适合自然语言处理项目的规范化方法提出建议?

python unicode normalization unicode-normalization text-normalization

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

如何保存此matplotlib图形,以便不裁剪x轴标签?

我在ipython笔记本中运行以下代码片段,使用pandas数据分析库matplotlib.pyplot.

titles = {'gradStat_p3': "P3:  Gradiometers", 'magStat_p3': "P3:  Magnetometers",
          'gradStat_mmn': "MMN:  Gradiometers", 'magStat_mmn': "MMN:  Magnetometers"}

scales = {'gradStat': (-2.0 * 1e-22, 3.5 * 1e-22), 'magStat': (-1.6 * 1e-25, 4.5 * 1e-25)}

fig, axes = plt.subplots(nrows=2, ncols=2, figsize=(8, 5))
fig.tight_layout()
for c, component in enumerate(('p3', 'mmn')):
    for s, sensor in enumerate(('gradStat', 'magStat')):
        key = sensor + '_' + component
        axes[c, s].set_ylim(scales[sensor])
        agg = aggregated[key]
        # Plot
        agg.plot(ax=axes[c, s], kind='bar', legend=False, title=titles[key])
        axes[c, s].set_xticklabels(agg.index.format(names=False))
        if not c:  # …
Run Code Online (Sandbox Code Playgroud)

python matplotlib pandas

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

如何迭代128位块中的字符串?

我有一个函数可以处理来自任意长度字符串的128位数据块.如果字符串不能均匀地分成128位的块,则会相应地填充它.

目的是转换输入函数的字符串中的数据.

我最初想过循环字符串这样:

//This might have stupid errors.  Hopefully it stillg gets the point across.
for (int i = 0; i < strn.size(); i += 16)
{
    string block = strn.substr(i, i + 15);
    strn.replace(i, i + 15, block);
}
Run Code Online (Sandbox Code Playgroud)

我想这会起作用,但我认为必须有一种更优雅的方式来做到这一点.想到的一个想法是封装strn在一个类中并实现我自己的迭代器,它可以以128位块的形式读取其内容.这很有吸引力,因为构造函数可以处理填充,我当前使用的一些函数可以是私有的,从而避免了潜在的误用.这看起来像是一种富有成效的方法吗?如果是这样,那么如何实现自己的迭代器呢?我非常欢迎详细的解释,因为我对C++缺乏经验.

还有其他的,或许更好的方法吗?

谢谢!

c++ iterator stdstring

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

如何更改我的tor进程的端点?

我正在使用它stem来控制用它创建的tor节点stem.process.launch_tor_with_config.我还创建了一个stem.control.Controller在上述进程的控制端口上运行的程序.

如何更改退出节点?我看了一下stem.controller.Controller.new_circuit,但这似乎改变了中间节点,保留了端点.

有谁知道如何做到这一点?

谢谢!

编辑:

所以我认为我可能误解了一些基本的东西,但我似乎无法绕过它.我试着打电话Controller.get_circuits()找到一个CircuitEvent对象列表.这是否意味着单个进程可以处理多个电路?如果是这样,我该如何选择使用?

请注意,我正在通过Privoxy引导HTTP请求,而Privoxy又将其转发到tor进程的SOCKS端口.

编辑2:

我发现了一些有效的东西,但我不知道它是如何工作的,这让我很担心.我很乐意为任何能够:

  1. 解释为什么我的方法有效
  2. 展示一个更好的方法,并解释它是如何工作的

这就是我所做的:

for circuit in controller.get_circuits():
    controller.close_circuit(circuit.id)
Run Code Online (Sandbox Code Playgroud)

它就是.外部知识产权发生了变化,所以我知道我已经做了一些事情,但如果我确切知道究竟是什么的话.

python tor

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

如何将此 Gabor 补丁扩展到边界框的大小?

我正在尝试创建一个 2D 图像,称为可变大小的Gabor 补丁。Gabor 补丁最好被认为是 2D 正弦和 2D 高斯的卷积。

下面是用于生成代码的函数。代码是从本教程中移植到Matlab 的(假设import numpy as np):

def gabor_patch(size, lambda_, theta, sigma, phase, trim=.005):
    """Create a Gabor Patch

    size : int
        Image size (n x n)

    lambda_ : int
        Spatial frequency (px per cycle)

    theta : int or float
        Grating orientation in degrees

    sigma : int or float
        gaussian standard deviation (in pixels)

    phase : float
        0 to 1 inclusive
    """
    # make linear ramp
    X0 = …
Run Code Online (Sandbox Code Playgroud)

python math 2d numpy

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

如何为 ImageGrid 中的每个子图添加标题,并为整个图形添加单个 xlabel/ylabel?

我使用创建了下图mpl_toolkits.axes_grid1

在此输入图像描述

然而,由于某种原因,我的次要情节标题没有出现。我该如何解决这个问题?

代码:

# import 
from mpl_tookits.axes_grid1 import ImageGrid
from matplotlib.pyplot import *

fig = figure(figsize=(20, 12), dpi=300)
grid = ImageGrid(fig, 111, nrows_ncols=(3, 4), axes_pad=1, aspect=False)
for gridax, (i, sub) in zip(grid, enumerate(eyelink_data)):
    subnum = i + start_with

     # format data
    xdat = sub['x'][(sub['in_trl'] == True) & (sub['x'].notnull()) & (sub['y'].notnull())]
    ydat = sub['y'][(sub['in_trl'] == True) & (sub['x'].notnull()) & (sub['y'].notnull())]

    # plot
    gridax.hist2d(xdat, ydat, bins=[np.linspace(-.005, .005, num=1000), np.linspace(-.005, .005, num=1000)])
    gridax.plot(0, 0, 'ro')  # origin

    title('Subject {0} in-Trial Gaze'.format(subnum)) …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

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

如何从诸如stdin之类的流中使rx.py Observable可观察到?

我正在努力使rxpy函数反应式编程(FRP)进入图书馆,而我已经遇到了障碍。我正在编写一个小程序,希望通过标准输入(sys.stdin)来流式传输数据。

因此,我的问题很简单:如何创建一个rx.Observable从stdin异步读取的实例?是否有内置机制可Observable从流创建实例?

python reactive-programming rx-py

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

为什么 nginx 抱怨未知指令?

我试图将所有类似于/<uuid4>在本地主机上运行的特定 HTTP 服务器的HTTP 请求定向。以下是location我的 nginx.conf 中的相关行:

# nginx.conf
upstream django {
    server unix:///app/django.sock; # for a file socket
}

server {
    access_log /var/log/access.log;
    error_log /var/log/error.log;
    listen      80;

    server_name 127.0.0.1;
    charset     utf-8;

    client_max_body_size 75M;

    # Django media
    location /media  {
        alias /app/media;
    }

    location /static {
        alias /app/static;
    }

    location ~* "[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}$" {  # matches UUIDv4
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass localhost:8000;
    }

    # Finally, send all non-media requests to the Django server.
    location / …
Run Code Online (Sandbox Code Playgroud)

nginx

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

如何从清单文件中安装lua岩石?

我来自python背景,我希望在语义上做同样的事情pip install -r requirements.txt来安装正确版本的Python包列表.

这可以实现luarocks吗?如果没有,有没有办法在命令行上一起破解它?

luarocks

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