Tag: python

Python是如何实现内置函数pow()的?

我必须编写一个程序来计算a**b % c ,其中b和c都是非常大的数字。 如果我只是使用a**b % c ,那真的很慢。 然后我发现内置函数pow()可以通过调用pow(a, b, c) 。 我很想知道Python是如何实现这个的? 或者我可以在哪里find实现此function的源代码文件?

我如何获得Python中的eth0的IP地址?

当Unix上的Python脚本发生错误时,会发送一封电子邮件。 如果IP地址是testing服务器的IP地址是192.168.100.37,我被要求添加{testing环境}到邮件的主题行。 这样,我们就可以拥有一个脚本版本,并且可以通过这种方式来判断电子邮件是否来自testing服务器上的混乱数据。 但是,当我谷歌我不断find这个代码: import socket socket.gethostbyname(socket.gethostname()) 但是,这是给我的IP地址127.0.1.1。 当我使用ifconfig我得到这个 eth0 Link encap:Ethernet HWaddr 00:1c:c4:2c:c8:3e inet addr:192.168.100.37 Bcast:192.168.100.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:75760697 errors:0 dropped:411180 overruns:0 frame:0 TX packets:23166399 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:59525958247 (59.5 GB) TX bytes:10142130096 (10.1 GB) Interrupt:19 Memory:f0500000-f0520000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 […]

Python popen命令。 等到命令完成

我有一个脚本,用popen shell命令启动。 问题在于脚本不会等到popen命令完成,然后马上继续。 om_points = os.popen(command, "w") ….. 我怎么能告诉我的Python脚本等待,直到shell命令完成?

按聚合字段值sorting查询集

假设我有以下模型: class Contest: title = models.CharField( max_length = 200 ) description = models.TextField() class Image: title = models.CharField( max_length = 200 ) description = models.TextField() contest = models.ForeignKey( Contest ) user = models.ForeignKey( User ) def score( self ): return self.vote_set.all().aggregate( models.Sum( 'value' ) )[ 'value__sum' ] class Vote: value = models.SmallIntegerField() user = models.ForeignKey( […]

如何以编程方式设置全局(模块)variables?

我想以“编程”的方式来定义全局variables。 类似于我想要做的事情是: definitions = {'a': 1, 'b': 2, 'c': 123.4} for definition in definitions.items(): exec("%s = %r" % definition) # a = 1, etc. 具体来说,我想创build一个模块的fundamentalconstants ,它包含的variables可以作为fundamentalconstants.electron_mass 。电子质量等等来访问,其中所有的值都是通过parsing文件来获得的(因此需要以“编程”的方式进行赋值)。 现在,上面的exec解决scheme将工作。 但是我有点不安,因为我担心exec并不是实现设置模块全局的最简单的方法。

Matplotlib散点图图例

我创build了一个4D散点图来表示特定区域的不同温度。 当我创build图例时,图例显示正确的符号和颜色,但添加了一条线。 我使用的代码是: colors=['b', 'c', 'y', 'm', 'r'] lo = plt.Line2D(range(10), range(10), marker='x', color=colors[0]) ll = plt.Line2D(range(10), range(10), marker='o', color=colors[0]) l = plt.Line2D(range(10), range(10), marker='o',color=colors[1]) a = plt.Line2D(range(10), range(10), marker='o',color=colors[2]) h = plt.Line2D(range(10), range(10), marker='o',color=colors[3]) hh = plt.Line2D(range(10), range(10), marker='o',color=colors[4]) ho = plt.Line2D(range(10), range(10), marker='x', color=colors[4]) plt.legend((lo,ll,l,a, h, hh, ho),('Low Outlier', 'LoLo','Lo', 'Average', 'Hi', 'HiHi', […]

我怎样才能有效地处理类似于Matlab的blkproc(blockproc)函数块的numpy数组

我正在寻找一种有效的方法,将图像有效地分割成小区域,分别处理每个区域,然后将每个进程的结果重新组合为单个处理后的图像。 Matlab有一个叫做blkproc的工具(在Matlab的新版本中由blockproc取代)。 在一个理想的世界中,函数或类也会支持inputmatrix中各个分区之间的重叠。 在Matlab帮助中,blkproc被定义为: B = blkproc(A,[mn],[mborder nborder],好玩,…) A是你的inputmatrix, [mn]是块大小 [mborder,nborder]是你的边界区域的大小(可选) 乐趣是适用于每个块的function 我曾经在一起讨论过一个方法,但是它让我觉得很笨拙,我敢打赌还有更好的办法。 冒着我自己的尴尬风险,这是我的代码: import numpy as np def segmented_process(M, blk_size=(16,16), overlap=(0,0), fun=None): rows = [] for i in range(0, M.shape[0], blk_size[0]): cols = [] for j in range(0, M.shape[1], blk_size[1]): cols.append(fun(M[i:i+blk_size[0], j:j+blk_size[1]])) rows.append(np.concatenate(cols, axis=1)) return np.concatenate(rows, axis=0) R = np.random.rand(128,128) passthrough = lambda(x):x Rprime […]

如何在Google App Engine中导入模块?

我已经创build了一个基于默认模板的简单的GAE应用程序。 我想添加一个像short_url这样的外部模块。 我如何做到这一点? 到目前为止,我发现的方向是令人困惑的,GAE似乎没有使用PYTHONPATH,我想这是显而易见的原因。

在Cython中调用点积和线性代数运算?

我正在尝试使用点积,matrix求逆和其他基本的线性代数运算,这些运算可以从Cython的numpy中获得。 函数如numpy.linalg.inv (反转), numpy.dot (点积), Xt (matrix/数组的转置)。 调用numpy.*有很大的开销,从Cython函数和其余的函数是用Cython编写的,所以我想避免这种情况。 如果我假设用户安装了numpy ,有没有办法做到这样的事情: #include "numpy/npy_math.h" 作为一个extern ,并且调用这些函数? 或者直接调用BLAS(或者是这些核心操作的numpy调用)? 举一个例子,假设你在Cython中有一个函数做很多事情,最后需要做一个包含点积和matrix求逆的计算: cdef myfunc(…): # … do many things faster than Python could # … # compute one value using dot products and inv # without using # import numpy as np # np.* val = gammaln(sum(v)) – sum(gammaln(v)) + dot((v […]

如何用Python urlopen获取非ASCII文件的URL?

我需要从非ASCII字符的URL获取数据,但urllib2.urlopen拒绝打开资源,并提出: UnicodeEncodeError: 'ascii' codec can't encode character u'\u0131' in position 26: ordinal not in range(128) 我知道url不符合标准,但我没有机会改变它。 使用Python访问由包含非ASCII字符的URL指向的资源的方式是什么? 编辑:换句话说,可以/如何urlopen打开一个URL,如: http://example.org/Ñöñ-ÅŞÇİİ/