小编cod*_*000的帖子

在python类上重载__dict __()

我有一个类,我希望将对象作为字典返回,所以我实现了这个__dict__().它是否正确?

我想,一旦我这样做,我就可以使用dict(自定义对象),并将对象作为字典返回,但这不起作用.

你应该超负荷__dict__()吗?你怎么能这样做,所以自定义对象可以转换为字典使用dict()

python class

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

Pandas - 在列中找到第一个非空值

如果我有一个具有NULL或一些非null值的系列.如何找到值不为NULL的第一行,以便我可以向用户报告数据类型.如果该值为非null,则所有值都是该系列中的相同数据类型.

谢谢

python pandas

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

Python - 使用 SAML 2.0 登录站点

我很难找到资源来帮助我解决我遇到的问题。我有一个使用 SAML 2.0 保护的网站。有人可以向我指出显示如何使用 SAML 2.0 登录站点的资源吗?大多数 python 模块似乎都与实现 SAML 2 有关,我只需要登录到实现 SAML 2.0 的站点即可。

谢谢

J

python saml python-2.7 saml-2.0

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

使用python访问具有PKI安全性的站点

我有一个启用了PKI安全性的站点.每个客户端使用读卡器加载其证书,或者证书安装在其盒子上的IE证书存储中.

所以我的问题是:

  1. 如何使用读卡器证书或系统上存储的证书来验证系统?
  2. 如何将凭据传递到网站上说,嘿,我是我,我可以访问该服务?他们的例子可以使用软证书.我可以稍后找出读卡器部分.

我一直在四处寻找,在这种情况下我没有想出任何帮助我的东西.Django有很多模块,但这不是一个选项,因为我只关心客户端的事情.我不是要创建一个托管服务的站点.我需要访问这些服务.

我有这个代码工作的类型.我只是不知道如何处理我得到的重定向:

import httplib
KEYFILE = r"C:\cert\my.key"
CERTFILE = r"c:\cert\my.pem"
HOSTNAME = 'machine.com'

conn = httplib.HTTPSConnection(
    HOSTNAME,
    key_file = KEYFILE,
    cert_file = CERTFILE
)

conn.putrequest('GET', '/arcgis/sharing/rest?f=json')
conn.endheaders()
response = conn.getresponse()
print response.read()
Run Code Online (Sandbox Code Playgroud)

所有这一切的结果是:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>302 Found</title>
</head><body>
<h1>Found</h1>
<p>The document has moved <a href="https://machine.com/pki?https://machine.com/arcgis/sharing/rest%3f&amp;f=json">here</a>.</p>
</body></html>
Run Code Online (Sandbox Code Playgroud)

提供的任何帮助都会很棒!

软件规格:python 2.7.8,Windows 2012 R2

python ssl pki urllib2 python-2.7

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

确定Pandas Column DataType

有时,当数据导入到Pandas Dataframe时,它总是作为类型导入object.这很好,适合做大多数操作,但我正在尝试创建自定义导出功能,我的问题是:

  • 有没有办法强制Pandas推断输入数据的数据类型?
  • 如果没有,加载数据后是否有办法以某种方式推断数据类型?

我知道我可以告诉Pandas这是int,str等类型..但是我不想这样做,我希望当用户导入或添加列时,pandas可以足够聪明地知道所有数据类型.

编辑 - 导入的例子

a = ['a']
col = ['somename']
df = pd.DataFrame(a, columns=col)
print(df.dtypes)
>>> somename    object
dtype: object
Run Code Online (Sandbox Code Playgroud)

类型应该是字符串?

python dataframe pandas

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

pybind11包装现有代码

我试图使用pybind11包装一个c ++库,所以我可以在Python 3.x中使用它.

我尝试使用swig包装代码,但我遇到了一个问题,SWIG会生成cxx文件,但不会读取我引用的头文件,所以有人建议我使用pybind11因为它比swig更好(这是意见我知道),但我无法找到有关如何引用/构建项目的资源.

我的环境是:

  • Windows 10 x64
  • Anacondas使用Python 3.6构建4.4.0
  • Visual Studios 2015专业版(已安装c ++)

当我为Swig创建我的界面文件时,我可以做一些简单的事情:

```

%module filegdbapi

%{
#include "FileGDBAPI.h"
%}

%include "FileGDBAPI.h"
Run Code Online (Sandbox Code Playgroud)

```

然后在swig构建中,我可以引用-I.h文件的位置.

我如何在pybind11中做这样的事情?这么简单吗?

当你有.cpp文件时,pybind11的文档总是显示构建包装器.我可以用一种方法来使用pybind11,我可以用swig构建一个包装器吗?如果是这样,你如何设置文件?

有人能指出我只是从现有的c ++代码生成python包装器的项目吗?

谢谢

c++ python pybind11

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

正确设计Multiprocessing.Manager自定义对象

我想使用multiprocessing.Manager()对象,这样我就可以异步地将信息从worker发送到管理器,以便将信息发送到服务器.我所拥有的是将PDF写入磁盘的大约10个实例.然后,我想使用多处理包中的manager对象将该数据发送到我的S3存储桶,因为我不想阻止本地内容生成.

所以我想知道我是否创建了一个自定义管理器对象,这是正确的方法吗?提交给经理对象的每个进程是否会排队?或者,如果我呼叫多个上传,经理会丢弃一些电话吗?

以下是我正在考虑的示例代码:

from multiprocessing.managers import BaseManager

class UploadClass(object):
    def upload(self, filePath, params, destUrl):
        # do stuff
        return results

class MyManager(BaseManager):
    pass

MyManager.register('uploads', UploadClass)

if __name__ == '__main__':
    manager = MyManager()
    manager.start()
    upload = manager.uploads()
    # do this wait for completion or do they perform this async
    print upload.upload(r"< path >", {...}, "some url")
    print upload.upload(r"< path >", {...}, "some url")
Run Code Online (Sandbox Code Playgroud)

python amazon-s3 multiprocessing python-2.7

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

Python 2.7 - 重定向处理程序不会在重定向上传递参数

我有一个网址,我正在一个可以移动的网站上,当移动端点时,我需要重新应用POST/GET参数.我错过了什么来确保这个处理程序这样做?

class RedirectHandler(urllib2.HTTPRedirectHandler):


  def http_error_301(self, req, fp, code, msg, headers):
        result = urllib2.HTTPRedirectHandler.http_error_301(
            self, req, fp, code, msg, headers)
        result.status = code
        return result

    def http_error_302(self, req, fp, code, msg, headers):
        result = urllib2.HTTPRedirectHandler.http_error_302(
            self, req, fp, code, msg, headers)
        result.status = code
        return result
Run Code Online (Sandbox Code Playgroud)

当我通过fiddler观察流量时,我注意到用于身份验证的令牌被丢弃了.

(请注意我不能使用此解决方案的请求,它必须只是标准库)

谢谢

python urllib urllib2 python-2.7

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

使自定义类JSON可序列化

我有一个自定义类,让我们调用类ObjectA(),它有一堆函数,属性等..我想在python中使用标准的json库序列化对象,我该怎么做才能实现这个对象将序列化为JSON而无需编写自定义编码器?

谢谢

python json class

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

如何导入PEP8包

如果我从第三方导入模块,但他们使用的语法与我的排序不一致,那么pep8是否有好的方法呢?

示例:我需要使用无法编辑的第三方模块,并且它们的命名约定不是很好.

例:

thisIsABase_function(self,a,b)
Run Code Online (Sandbox Code Playgroud)

我有一些代码将pep8命名为pep8,但我想知道如何通过新的pep8名称访问这些函数?

def _pep8ify(name):
    """PEP8ify name"""
    import re
    if '.' in name:
        name = name[name.rfind('.') + 1:]
    if name[0].isdigit():
        name = "level_" + name
    name = name.replace(".", "_")
    if '_' in name:
        return name.lower()
    s1 = re.sub('(.)([A-Z][a-z]+)', r'\1_\2', name)
    return re.sub('([a-z0-9])([A-Z])', r'\1_\2', s1).lower()
Run Code Online (Sandbox Code Playgroud)

有没有办法在导入时可以PEP8这些名字?

python python-3.x

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