小编Com*_*cus的帖子

PyUnicode字符串和C字符串之间的字符串转换如何工作?

我有一个PyUnicode对象,我正在尝试将其转换回C字符串(char *)。

我尝试执行的方式似乎无效。这是我的代码:

PyObject * objectCompName = PyTuple_GET_ITEM(compTuple, (Py_ssize_t) 0);
PyObject * ooCompName = PyUnicode_AsASCIIString(objectCompName);
char * compName = PyBytes_AsString(ooCompName);
Py_DECREF(ooCompName);
Run Code Online (Sandbox Code Playgroud)

我还有另一种/更好的方法吗?

c python python-c-api python-3.x python-internals

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

数据表:未捕获的TypeError:无法读取未定义的属性"长度"

我正在尝试使用带有Datatables的ajax源代码,并且在执行操作时遇到了一些错误.以前Ajax没有与Datatables一起使用,并且它们工作正常,但在尝试使用Ajax和JSON时我遇到了一些错误.

我收到的错误如下:

未捕获的TypeError:无法读取未定义的属性"长度"

编辑:在使用此文本正下方的修订代码后,此错误不再存在,但DataTable仍然被破坏(没有搜索,分页,排序等...).有一个实例可能有帮助,所以试试这个网站:fogest.com/test

在页面加载时创建表是代码:

$(document).ready(function() {
    $('#trades').dataTable( {
        "sDom": "<'row'<'span6'l><'span6'f>r>t<'row'<'span6'i><'span6'p>>",
        "sPaginationType": "bootstrap",
        "bProcessing": true,
        "bServerSide": true,
        "aoColumns": [
            { "mData": "id" },
            { "mData": "Minecraft_Username" },
            { "mData": "Block_Name" },
            { "mData": "Quantity" },
            { "mData": "Cost" },
            { "mData": "Trade_Status" },
          ],
        "sAjaxSource": "test.php"
    } );
} );
Run Code Online (Sandbox Code Playgroud)

并且sAjaxSource test.php包含以下内容:

<?php 
$tableName = "mctrade_trades";
$result = mysql_query("SELECT `id`, `Minecraft_Username`, `Block_Name`, `Quantity`, `Cost`, `Trade_Status` FROM $tableName");

$data = array();
while ( $row = mysql_fetch_assoc($result) )
{
    $data[] = …
Run Code Online (Sandbox Code Playgroud)

json datatables

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

使用Py_BuildValue()在C中创建元组列表

我想用来Py_BuildValue()在C中创建一个元组列表.

我想要构建的内容如下所示:

[ (...), (...), ... ] 
Run Code Online (Sandbox Code Playgroud)

我不知道在编译时创建的元组数量,所以我不能在这里使用一些静态数量.

Py_BuildValue()这里基本上使用一个元组是代码的样子:

PyObject * Py_BuildValue("[(siis)]", name, num1, num2, summary);
Run Code Online (Sandbox Code Playgroud)

但那只会是一个元组.我需要在列表中有多个元组,我可以通过for循环添加.我怎么能做到这一点?

c python pyobject

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

排序有4个除数的数字(java)

我需要对一系列数字进行排序.数字可以是0到1000.用户输入介于0和1000之间的数字范围.因此,例如,如果它们可能输入0 - > 500.

我的目标是获取给定范围内的所有数字,并输出该范围内只有4个可能除数的所有数字(包括1和它本身).

我想知道我是否应该使用像这样的算法,或者我应该检查和int数组包含1 - 1000中可被4整除的所有数字(所以数组没有1-1000它有该范围内的数字只能被整除4次.需要手动工作才能将所有可能的除数加到该数组中.

我正在寻求提高效率只是我不确定使用这样的算法是否会非常快.

java arrays sorting algorithm primes

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

将Redis与Laravel一起使用:我是使用Cache驱动程序还是Redis类?

我正在查看Laravel文档,我看到了缓存驱动程序和redis类.看看缓存类似乎我可以用它来存储Redis中的东西,因为我只是改变了我用来缓存已经添加的Redis驱动程序的驱动程序.但是,还有一个单独的Redis类.为什么有一个单独的redis类?如果缓存类可以做同样的事情,并允许我交换我使用的驱动程序,如果需要,有什么理由使用Redis类?

也许我在这里遗漏了一些东西,但我只是想弄清楚哪一个我想用来存储redis中的密钥和数据?我正在使用Laravel 5.

caching redis laravel laravel-5

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

在构建过程中找不到字形或别名的问题

我看到一个与 Bootstrap 中未找到的一堆 .eot 字形相关的错误。我收到两个我认为相关的错误。一堆无法解析或字形不存在的错误,与有关字段browser不包含有效别名配置的错误混合在一起。

我已经包含了完整的错误消息以及 babelrc 文件和 webpack 配置。我还将在下面包含更长的 package.json 以防相关。

错误表明它正在寻找如下路径:

/var/www/FlaskApp/people-app-prod/static/node_modules/bootstrap-sass/assets/stylesheets/bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.eot
Run Code Online (Sandbox Code Playgroud)

然而实际路径应该是:

/var/www/FlaskApp/people-app-prod/static/node_modules/bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.eot
Run Code Online (Sandbox Code Playgroud)

错误:

ERROR in ./node_modules/bootstrap-loader/no-op.js (./node_modules/css-loader/dist/cjs.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/lib/loader.js?sourceMap!./node_modules/bootstrap-loader/lib/bootstrap.styles.loader.js?{"bootstrapVersion":3,"useCustomIconFontPath":false,"extractStyles":false,"styleLoaders":["style-loader","css-loader","sass-loader"],"styles":["mixins","normalize","print","glyphicons","scaffolding","type","code","grid","tables","forms","buttons","component-animations","dropdowns","button-groups","input-groups","navs","navbar","breadcrumbs","pagination","pager","labels","badges","jumbotron","thumbnails","alerts","progress-bars","media","list-group","panels","wells","responsive-embed","close","modals","tooltip","popovers","carousel","utilities","responsive-utilities"],"scripts":["transition","alert","button","carousel","collapse","dropdown","modal","tooltip","popover","scrollspy","tab","affix"],"configFilePath":"/var/www/FlaskApp/people-app-prod/static/node_modules/bootstrap-loader/.bootstraprc-3-default","bootstrapPath":"/var/www/FlaskApp/people-app-prod/static/node_modules/bootstrap-sass","bootstrapRelPath":"../bootstrap-sass"}!./node_modules/bootstrap-loader/no-op.js)
Module not found: Error: Can't resolve '../bootstrap-sass/assets/stylesheets/bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.eot' in '/var/www/FlaskApp/people-app-prod/static/node_modules/bootstrap-loader'
resolve '../bootstrap-sass/assets/stylesheets/bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.eot' in '/var/www/FlaskApp/people-app-prod/static/node_modules/bootstrap-loader'
  using description file: /var/www/FlaskApp/people-app-prod/static/node_modules/bootstrap-loader/package.json (relative path: .)
    Field 'browser' doesn't contain a valid alias configuration
    using description file: /var/www/FlaskApp/people-app-prod/static/node_modules/bootstrap-sass/package.json (relative path: ./assets/stylesheets/bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.eot)
      no extension
        Field 'browser' doesn't contain a valid alias configuration
        /var/www/FlaskApp/people-app-prod/static/node_modules/bootstrap-sass/assets/stylesheets/bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.eot doesn't exist
      .jsx
        Field 'browser' doesn't contain a valid alias configuration …
Run Code Online (Sandbox Code Playgroud)

node.js webpack react-bootstrap babeljs webpack-4

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

数据表:未捕获的类型错误:无法读取未定义的属性“parentNode”

查看网页时,我的控制台出现两个错误。正在使用数据表,我很确定(如错误所述)该问题与数据表有关。这里的问题是我没有写这段代码,我只是现在试图修复代码中的问题。奇怪的是,这部分代码以前应该可以运行,因为我可以明显地看到它在实时版本上运行。我对我认为的错误是否正确?如果是这样,当代码不是我制作的,并且代码和数据量很大时,调试这个的最佳方法是什么?

数据表警告:TD 元素的数量意外。预计2040,得到1981。DataTables不支持表格主体中的rowspan/colspan,并且每个行/列组合必须有一个单元格。jquery.dataTables.js:5840

未捕获的类型错误:无法读取未定义的属性“parentNode”。jquery.dataTables.js:2843

javascript php console jquery datatables

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

将日期扩展到当天的开始和结束日期时间

根据当前时间 ( datetime.now()),我想将其扩展到涵盖一整天的时间。

现在我一直在使用:

start = (datetime.now() - timedelta(days=1)).strftime('%Y-%m-%d %H:%M:%S')
end = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
Run Code Online (Sandbox Code Playgroud)

问题是这是从当前日期算起的 24 小时。如果是中午 12 点,这意味着它应该只回顾 12 小时,因为我想搜索当天的记录。

如何在 Python 中完成此操作?

python datetime

2
推荐指数
3
解决办法
4255
查看次数

使用 pkg-config 找不到 Python3.pc 文件

我在一台安装了 python3 的 Ubuntu 14.04 机器上。在 make 文件中,我有如下所示的标志:

CFLAGS = -Wall -std=c11 -g -DNDEBUG `pkg-config --cflags python3`
Run Code Online (Sandbox Code Playgroud)

当我运行我的 make 文件时出现错误:

gcc -Wall -std=c11 -g -DNDEBUG `pkg-config --cflags python3` -fPIC   -c -o calmodule.o calmodule.c
Package python3 was not found in the pkg-config search path.
Perhaps you should add the directory containing `python3.pc'
to the PKG_CONFIG_PATH environment variable
No package 'python3' found
gcc -shared  calmodule.o calutil.o -o Cal.so
Run Code Online (Sandbox Code Playgroud)

我检查了 pkg-config 文件夹,发现里面没有任何 python 的东西:

  % la /usr/lib/pkgconfig
total 20K
-rw-r--r-- 1 root root …
Run Code Online (Sandbox Code Playgroud)

c python makefile pkg-config

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

Laravel Redis 队列忽略限制

我正在使用 Laravel Horizo​​n 和 Redis,我正在尝试限制它。我使用的外部 API 的速率限制为每分钟 100 个请求。我需要提出大约 700 个请求。我进行了设置,以便添加到队列中的每个作业仅在作业本身中执行一个 API 调用。因此,如果我限制队列,我应该能够保持在限制范围内。由于某种原因,没有发生限制,而是超出了队列(当然,这会触发许多 API 错误)。然而,节流阀在本地工作,但不在我的服务器上工作。

我最初试图根据 Laravel 的队列文档进行限制,但只能让它在本地工作,所以我转而尝试Github 上的laravel-queue-rate-limit包。根据自述文件,我将以下内容添加到我的queue.php配置文件中:

'rateLimits' => [
        'default' => [ // queue name
            'allows' => 75, // 75 job
            'every' => 60 // per 60 seconds
        ]
    ],     
Run Code Online (Sandbox Code Playgroud)

由于某种原因,当我在本地 Ubuntu 环境中运行它时,限制可以正常工作,但它在我的服务器(也是 Ubuntu)上不起作用。在服务器上,它只是吹过队列,就好像没有适当的节流一样。

我是否做错了什么,或者可能有更好的方法来处理速率受限的外部 API?

编辑1:

配置/horizo​​n.php

    'environments' => [
        'production' => [
            'supervisor-1' => [
                'connection' => 'redis',
                'queue' => ['default'],
                'balance' => 'simple',
                'processes' => 3,
                'tries' => 100,
            ], …
Run Code Online (Sandbox Code Playgroud)

php throttling task-queue redis laravel

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