小编ste*_*ios的帖子

Python:连接(或克隆)一个numpy数组N次

我想通过克隆Mx1 ndarray N次来创建一个MxN numpy数组.是否有一种有效的pythonic方法来代替循环?

顺便说一句,以下方式对我不起作用(X是我的Mx1数组):

   numpy.concatenate((X, numpy.tile(X,N)))
Run Code Online (Sandbox Code Playgroud)

因为它创建了[M*N,1]数组而不是[M,N]

python arrays numpy concatenation append

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

certutil:函数失败:SEC_ERROR_LEGACY_DATABASE:证书/密钥数据库采用旧的,不受支持的格式

我已经下载了经过验证的(非自签名)S/MIME证书和iceweasel(firefox),该证书存储在cert8.db中

然后我用了:

certutil -L -d <path_to_folder_that_cert8.db_resides>
Run Code Online (Sandbox Code Playgroud)

为了列出证书,然后我使用certutil给我的证书名称解压缩.p12文件:

pk12util -o mycertfile.p12 -n "<name_found_from_certutil>" -d <path_to_folder_that_cert8.db_resides>
Run Code Online (Sandbox Code Playgroud)

问题是我丢失了对p12存储的PC 的访问权限,现在我只有一个cert8.db拷贝到另一台PC.因此我重复了这些certutil && pk12util命令,但certutil失败了:

certutil: function failed: SEC_ERROR_LEGACY_DATABASE: The certificate/key database is in an old, unsupported format.
Run Code Online (Sandbox Code Playgroud)

我拼命尝试了3台不同的计算机,包括一台具有相同内核和libnss3-tools版本的计算机(就像我成功提取p12的初始桌面),这是:

$ uname -a 
Linux commander 3.16.0-4-amd64 #1 SMP Debian 3.16.7-2 (2014-11-06) x86_64 GNU/Linux 
Run Code Online (Sandbox Code Playgroud)

libnss3-tools 版本:2:3.17.2-1

有什么想法吗?

谢谢

certificate nss smime certificate-store certutil

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

libcurl:使用 WriteMemoryCallback 时 curl_easy_perform 上的分段错误

我使用以下代码成功地使用 C 和 libcurl 发出了 json-rpc 请求

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <curl/curl.h>

void post_rpc(CURL *curl_handle)
{
    CURLcode res;

    char JSONRPC_BASE_URL[] = "https://api.betfair.com/exchange/betting/json-rpc/v1";
    char rpc_request[]="{\"jsonrpc\": \"2.0\", \"method\": \"SportsAPING/v1.0/listEventTypes\", \"params\": {\"filter\":{ }}, \"id\": 1}";  
    char session_token[]= "MY_ACTIVE_SESSION_STRING";
    char session_header[100+sizeof(session_token)];

    strcpy(session_header, "X-Authentication:");
    strcat(session_header, session_token);

    struct curl_slist * headers = NULL;
    headers = curl_slist_append(headers, "X-Application: MY_API_KEY");
    headers = curl_slist_append(headers, session_header);
    headers = curl_slist_append(headers, "content-type : application/json");

    /* init the curl session */
    curl_handle = curl_easy_init();

    /*  HEADERS */
    curl_easy_setopt(curl_handle, CURLOPT_HTTPHEADER, headers); …
Run Code Online (Sandbox Code Playgroud)

c libcurl segmentation-fault

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

DRF:没有查询集的分页

我试图在我的案例中使用 Django Rest Framework 的分页机制,但没有成功。

class TransactionView(viewsets.ViewSet):

    serializer_class = TransactionSerializer

    def list(self, request):
        # fetching data from external API...

        serializer = self.serializer_class(data=list_of_json, many=True)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data)
        else:
            return Response(serializer.errors) 


class TransactionSerializer(serializers.Serializer):
    # Serializer (transaction's) fields ...

    def create(self, validated_data):
        return APITransaction(**validated_data) 


class APITransaction(object):

    def __init__(self, arg1, arg2, ...):
        self.arg1 = arg1 
        ... 
Run Code Online (Sandbox Code Playgroud)

问题是注册pagination_class(就像我对由模型表示的其余资源所做的那样)不起作用,因为数据是动态创建/获取的,因此我没有模型/查询集。

关于如何使用 DRF 的分页机制有什么想法吗?

django-rest-framework

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

Python:忽略初始宽高比,将图像调整为固定大小

我正在尝试将传入的图像(可以是任何类型,任何大小)缩放为固定的灰度图像(例如14x14)。我要做的是:

from PIL import Image
...
img = Image.open(args.picture).convert('L')
img.thumbnail( (14,14), Image.ANTIALIAS)   #img.resize returns Non-Type
Run Code Online (Sandbox Code Playgroud)

但这会返回12x14而不是14x14,这显然是由于原始的宽高比。

对于任何可能的输入,我如何实现14x14?

python resize-image python-imaging-library

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

通过网络链接的外部容器的别名

假设我们有两个 Web 服务:alpha 和 beta

1)docker-compose.yml对于阿尔法

version: '2'

services:
    web:
        build: .
        env_file: local.env
        networks:
          - default
          - beta

    networks:
        beta:
            external:
                name: beta_default
Run Code Online (Sandbox Code Playgroud)

2)docker-compose.yml对于测试版

version: '2'

services:
    web:
        build: .
        env_file: .env
        expose:
          - "5000"
Run Code Online (Sandbox Code Playgroud)

这样我就可以beta_web_1alpha_web_1容器交互(例如 ping)容器。我想要的是为beta_web_1容器创建一个别名,以便我可以用一个有效的 URL 来命名它,例如:beta.local.

我想这里面发生docker-compose.ymlalpha或在保持它里面的观点阿尔法的范围的任何方式,这样我就不需要更改实际的系统范围名beta_web_1

这可能吗?

docker docker-compose docker-networking

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

将InboundJaxrsResponse转换为json字符串

我正在尝试将jax-rs响应序列化为json字符串.

来自服务器的响应是json,我从泽西客户端获得它:

Response resp = target.request().method("PUT", Entity.json(payloadBean))
Run Code Online (Sandbox Code Playgroud)

其中payloadBean是我的json请求.一切正常但我无法转换json字符串中的resp以便记录它.

如果我尝试:

String s = EntityUtils.toString((HttpEntity) resp.getEntity());
Run Code Online (Sandbox Code Playgroud)

我明白了:

org.glassfish.jersey.client.internal.HttpUrlConnector cannot be cast to org.apache.http.HttpEntity
Run Code Online (Sandbox Code Playgroud)

顺便说一句,如果我没有强制转换为HttpEntity,编译器说:

toString (org.apache.http.HttpEntity) in EntityUtils cannot be applied to (java.lang.Object).
Run Code Online (Sandbox Code Playgroud)

我的相关进口是:

import org.apache.http.HttpEntity;
import org.apache.http.util.EntityUtils;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Entity;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.Response;
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

jax-rs jersey-2.0 javax.ws.rs

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

从String构建List <T>

我正在尝试创建一个泛型函数,该函数基于一个字符串构建任何类型的List,该字符串包含以let表示逗号分隔的那种类型的值.我这样做了:

public static <T> List<T> stringToList(String listStr, Class<T> itemType)
{
    return Arrays.asList(listStr.split(",")).stream().map(x -> itemType.cast(x.replaceAll("\\s+|\"|\t","")))).collect(Collectors.toList());
}
Run Code Online (Sandbox Code Playgroud)

当我尝试用它测试时:

String listStringsStr  = "\"Foo\", \"Bar\"";
List<String> resS = stringToList(listStringsStr, String.class);

String listIntegersStr = "1,10,-1,0";
List<Integer> resI = stringToList(listStringsStr, Integer.class);
Run Code Online (Sandbox Code Playgroud)

我有两个问题.

  1. 在第一种情况下(String),我在每个字符串项周围得到一个额外的双引号:""Foo"",""Bar"".
  2. 在第二种情况下(整数)我得到一个java.lang.ClassCastException: Cannot cast java.lang.String to java.lang.Integer意味着它不能将"1"转换为1.我知道这适用Integer::parseInt,但我想制作一个通用方法.

有任何想法吗?

[编辑] - 因为我发布它的方式引起了混乱,我添加了测试代码:

String listStringsStr  = "\"Foo\", \"Bar\"";
List<String> listStrings = Arrays.asList("Foo", "Bar");
String listIntegersStr = "1,10,-1,0";
List<Integer> listIntegers = Arrays.asList(1, 10, -1, 0);

List<String> resS = stringToList(listStringsStr, String.class);
System.out.println(resS);
System.out.println(listStrings);
assert …
Run Code Online (Sandbox Code Playgroud)

java casting java-stream

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

从 CreateView 的 form_valid() 返回而不保存实例

在处理表单提交时,我必须执行自定义逻辑(联系 Web 服务等)。如果失败,我想阻止创建模型 Car 的新实例。

让我们通过一个简单的片段来演示:

from django.views import generic
from django.http import HttpResponseRedirect

class CarCreateView(generic.edit.CreateView):
      model = Car
      form_class = CarForm

      def form_valid(self, form):

           # some logic that may succeed or fail

           if success:
               messages.success(self.request, 'bla bla') 
               return super().form_valid(form)
           else:
               messages.error(self.request, 'blabla')
               # How to return to form index without saving???
               return HttpResponseRedirect(self.get_success_url())
Run Code Online (Sandbox Code Playgroud)

不打电话super().form_valid(form)是不够的。一辆新车仍在保存中。有任何想法吗?

django django-generic-views

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

视图函数不是从 urls.patterns 调用的

我的视图函数不是由 urls.py 模式调用的。我只能明确地调用它们。

基本布局是

--project
----persons
----project
Run Code Online (Sandbox Code Playgroud)

project/urls.py 是:

from django.conf.urls import url, include, patterns
from .views import page   #irrelevant
# from persons import views as person_views

urlpatterns = patterns('',
    url(r'^(?P<slug>[\w./-]+)/$', page, name='page'), #irrelevant
    url(r'^$', page, name='homepage'),                #irrelevant
    url(r'^persons/', include('persons.urls', namespace='persons')),  # WORKS
#   url(r'^persons/$', person_views.persons, name='persons'),   #wont work
#   url(r'^persons/add/$', person_views.add_person, name='add_person'),  #wont work
)
Run Code Online (Sandbox Code Playgroud)

一切都好,直到这一点,因为persons.urls 已成功包含......但在里面:

persons/urls.py

from django.conf.urls import patterns, url
#from persons.views import index_persons, add_person
from persons import views

#views.index_persons('GET / HTTP/1.0')  # >>> WORKS …
Run Code Online (Sandbox Code Playgroud)

django django-urls django-views

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