Questions tagged «python»

Python是一种多范式,动态类型的多用途编程语言。它旨在快速学习,理解和使用并强制使用干净统一的语法。请注意,Python 2自2020年1月1日起已不再受支持。不过,对于特定于版本的Python问题,请添加[python-2.7]或[python-3.x]标签。使用Python变体或库(例如Jython,PyPy,Pandas,Numpy)时,请将其包含在标签中。

7
如何获得Python请求以信任自签名SSL证书?
import requests data = {'foo':'bar'} url = 'https://foo.com/bar' r = requests.post(url, data=data) 如果URL使用自签名证书,则失败并显示 requests.exceptions.SSLError: [Errno 1] _ssl.c:507: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed 我知道我可以像这样传递False给verify参数: r = requests.post(url, data=data, verify=False) 但是,我想做的是将请求指向磁盘上的公共密钥副本,并告诉它信任该证书。

11
enumerate()用于python中的字典
我知道我们使用enumerate了迭代列表,但是我在字典中尝试了它,但没有给出错误。 码: enumm = {0: 1, 1: 2, 2: 3, 4: 4, 5: 5, 6: 6, 7: 7} for i, j in enumerate(enumm): print(i, j) 输出: 0 0 1 1 2 2 3 4 4 5 5 6 6 7 有人可以解释输出吗?


4
Python-使用virtualenv手动安装软件包
我有一个要安装到我的virtualenv中的python程序-这是一个需要解压缩然后运行setup.py程序的zip程序包-但我的问题更多是关于如何将这些未压缩的文件放入我的virtualenv中,以便该程序包被安装到virtualenv的site-packages文件夹中? 我也可以使用pip install <package name>,从virtualenv内部安装,但是由于某些原因,PIP下载的软件包已过期。 所以-有人可以告诉我一些手动安装软件包的简单步骤吗? 到目前为止,我已经掌握了加载Virtualenv的基本命令: -bash-3.2$ source ~/.bashrc -bash-3.2$ workon test (test)-bash-3.2$ //Now I'm working on my virtualenv, but where do I go after this?? 所以-将python包/程序解压缩到什么位置很重要-还是应该在解压缩之前先登录virtualenv?加载virtualenv并在内部使用“ workon test”命令使用它后,无论找到哪个目录,我都会安装任何python软件包,将其自身安装到适当的virtualenv的site-packages文件夹中吗? 选项1是将python程序解压缩到/ home / username / tmp-然后登录到我的virtualenv,导航到该文件夹​​并运行setup.py程序-假设virtualenv会将所有相关文件传输到它自己的site-packages文件夹中。 或方案2是将文件直接解压缩到站点包中,然后从那里运行(登录到virtualenv之后),依此类推 感谢您帮助Python clutz!

7
如何在python注释中格式化长网址,并且仍符合PEP8
在块注释中,我想引用一个长度超过80个字符的URL。 显示此URL的首选约定是什么? 我知道bit.ly是一个选项,但URL本身是描述性的。对其进行缩短,然后使用嵌套的注释描述缩短的URL,这似乎是一个糟糕的解决方案。
82 python  pep8 

8
将二进制转换为ASCII,反之亦然
使用以下代码获取字符串并将其转换为二进制: bin(reduce(lambda x, y: 256*x+y, (ord(c) for c in 'hello'), 0)) 输出: 0b110100001100101011011000110110001101111 如果我将其放到该站点(位于右侧站点)中,则会得到hello回我的消息。我想知道它使用什么方法。我知道我可以将二进制字符串拼接成8,然后将其与相应的值进行匹配bin(ord(character))或以其他方式进行匹配。真正在寻找更简单的东西。
82 python  binary  ascii 

6
为什么将Python异常命名为“错误”?
为什么Python的异常命名为“错误”(例如ZeroDivisionError,NameError,TypeError),而不是“例外”(例如ZeroDivisionException,NameException,TypeException)。 我来自Java背景,最近开始学习Python,这令人困惑,因为在Java中错误与异常之间是有区别的。 Python也有区别吗?
82 java  python  exception 

1
解释器维护的整数缓存是什么?
深入研究Python的源代码后,我发现它维护了一个PyInt_Objects数组,范围从int(-5)到int(256)(@ src / Objects / intobject.c) 一个小实验证明了这一点: >>> a = 1 >>> b = 1 >>> a is b True >>> a = 257 >>> b = 257 >>> a is b False 但是,如果我在py文件中一起运行这些代码(或使用分号将它们结合在一起),结果将有所不同: >>> a = 257; b = 257; a is b True 我很好奇为什么它们仍然是同一对象,所以我深入研究了语法树和编译器,提出了下面列出的调用层次结构: PyRun_FileExFlags() mod = PyParser_ASTFromFile() …

17
如何检查列表中只有一个真实值?
在python中,我有一个列表,该列表应仅包含一个真实值(即bool(value) is True)。有一个聪明的方法来检查吗?现在,我只是遍历整个列表并手动检查: def only1(l) true_found = False for v in l: if v and not true_found: true_found=True elif v and true_found: return False #"Too Many Trues" return true_found 这看起来不雅,不是很pythonic。有更聪明的方法吗?
82 python 



4
如何在matplotlib中制作空白子图?
我在matplotlib中制作了一组子图(例如3 x 2),但我的数据集少于6个。如何将其余子图留空? 安排如下所示: +----+----+ | 0,0| 0,1| +----+----+ | 1,0| 1,1| +----+----+ | 2,0| 2,1| +----+----+ 这可能会持续几页,但是在最后一页上,例如,有5个数据集,而2,1框将为空。但是,我已声明该数字为: cfig,ax = plt.subplots(3,2) 因此,在子图2,1的空间中,存在一组带有刻度和标签的默认轴。如何以编程方式使该空间空白且没有轴?

2
matplotlib的子图中的行和列标题
将行和列标题添加到循环生成的子图网格中的最佳实践是matplotlib什么?我能想到几个,但并不是特别整洁: 对于具有循环计数器的列,您只能将其set_title()用于第一行。对于行,这不起作用。您将不得不text在情节之外进行绘制。 您在顶部添加了一排子图,在左侧添加了一列子图,并在该子图的中间绘制了文本。 您能提出更好的选择吗?


10
如何使scipy.interpolate给出超出输入范围的推断结果?
我正在尝试移植一个使用手推插值器(由数学家colleage开发)的程序,以使用scipy提供的插值器。我想使用或包装scipy插值器,以使其行为与旧的插值器尽可能接近。 这两个函数之间的关键区别在于,在我们的原始插值器中-如果输入值高于或低于输入范围,则我们的原始插值器将推断结果。如果您使用scipy插值器尝试此操作,则会引发一个ValueError。以该程序为例: import numpy as np from scipy import interpolate x = np.arange(0,10) y = np.exp(-x/3.0) f = interpolate.interp1d(x, y) print f(9) print f(11) # Causes ValueError, because it's greater than max(x) 有没有一种明智的方法可以使最后一行不会发生崩溃,而是简单地进行线性外推,将由前两个点定义的渐变继续到无穷大。 请注意,在实际软件中,我实际上并没有使用exp函数-此处仅用于说明!
82 python  math  numpy  scipy 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.