Tag: python

我怎样才能得到webdriver中的元素的当前内容

我一定在想这个错误。 我想在WebDriver / Selenium 2访问的页面上获取元素的内容,在这个例子中是一个formfield 这是我的破碎的代码: Element=driver.find_element_by_id(ElementID) print Element print Element.text 这里是结果: <selenium.webdriver.remote.webelement.WebElement object at 0x9c2392c> (注意空白行)我知道这个元素有内容,因为我用前面的命令使用.sendkeys将它们填充在那里,当脚本运行时,我可以在实际的网页上看到它们。 但是我需要将内容重新存入数据。 我能做些什么来读这个? 最好以通用的方式,以便我可以从不同types的元素中提取内容。

在Go(Golang)中编写Python扩展

我目前使用Cython来链接C和Python,并获得python代码的慢速加速。 然而,我想使用goroutines来实现一个非常慢(并且非常可并行化)的代码位,但它必须从python调用。 (我已经看到了这个问题 ) 我(有点儿)很高兴通过C(或Cython)来设置数据结构等,如果有必要的话,但是从错误修复/回避的angular度来看,避免这个额外的层是很好的。 什么是最简单的方法来做到这一点,而不必重新发明任何车轮?

Jinja2:更改循环内variables的值

我想改变循环内循环外声明的variables的值。 但总是在变化,它保持循环之外的初始值。 {% set foo = False %} {% for item in items %} {% set foo = True %} {% if foo %} Ok(1)! {% endif %} {% endfor %} {% if foo %} Ok(2)! {% endif %} 这使得: Ok(1)! 所以到目前为止唯一的(坏)解决scheme是这样的: {% set foo = [] %} {% for item in items %} {% […]

如何testing或模拟“如果__name__ =='__main__'”的内容

假设我有一个与以下模块: def main(): pass if __name__ == "__main__": main() 我想写一个下半部的unit testing(我想达到100%的覆盖率)。 我发现执行import / __name__机制的runpy builtin模块,但是我不知道如何模拟或者检查main()函数是否被调用。 这是我迄今为止所尝试的: import runpy import mock @mock.patch('foobar.main') def test_main(self, main): runpy.run_module('foobar', run_name='__main__') main.assert_called_once_with()

itertools中的chain和chain.from_iterable有什么区别?

我在互联网上找不到任何有效的例子,我可以看到他们之间的差异,以及为什么select一个。

numpy.fft和scipy.fftpack有什么区别?

后者只是前者的同义词,还是两种不同的FFT实现? 哪一个更好?

我怎样才能更多地了解Python的内部?

我已经使用Python进行了半年多的编程,我对Python内部更感兴趣,而不是使用Python开发应用程序。 目前我正在从Python2移植一些库到Python3。 然而,对于如何将端口从Python2转换到Python3,我有一个相当抽象的看法,因为大部分的改变都是在Python2.x中处理devise问题 我想了解更多关于Python内部的知识。 我应该采取自上而下还是自下而上的方法? 有什么可以推荐的参考?

matplotlib – 从等高线中提取数据

我想从均匀间隔的2D数据的单个轮廓(类似图像的数据)获取数据。 基于类似问题中find的示例: 如何获得由等值线图(matplotlib)绘制的线的(x,y)值? >>> import matplotlib.pyplot as plt >>> x = [1,2,3,4] >>> y = [1,2,3,4] >>> m = [[15,14,13,12],[14,12,10,8],[13,10,7,4],[12,8,4,0]] >>> cs = plt.contour(x,y,m, [9.5]) >>> cs.collections[0].get_paths() 调用cs.collections[0].get_paths()是: [Path([[ 4. 1.625 ] [ 3.25 2. ] [ 3. 2.16666667] [ 2.16666667 3. ] [ 2. 3.25 ] [ 1.625 4. ]], None)] 根据这些图,这个结果是合理的,似乎是轮廓线的(y,x)对的集合。 除了手动循环这个返回值,提取坐标并为线组装数组,还有更好的方法从matplotlib.path对象中获取数据吗? 从matplotlib.path提取数据时是否存在缺陷? […]

“python setup.py install”和“pip install”之间的区别

我有一个外部软件包,我想从tar文件安装到我的python virtualenv。 什么是安装软件包的最佳方式? 我发现了两种方法可以做到这一点:1)解压缩tar文件,然后在提取的目录中运行“python setup.py install”。 2) https://pip.pypa.io/en/stable/reference/pip_install/#examples中示例#7的“pip install packagename.tar.gz” 这两种方式是否有区别?

Python支持multithreading吗? 它可以加快执行时间吗?

我对于multithreading是否在Python中工作有些困惑。 我知道有很多这方面的问题,我已经阅读了很多,但我仍然感到困惑。 我从我自己的经验知道,并已经看到其他人发表自己的答案和在Python中的multithreading确实是可能的StackOverflow的例子。 那么为什么每个人都一直说Python被GILlocking,并且一次只能运行一个线程呢? 这显然是工作。 还是有一些区别,我不在这里? 许多海报/受访者也不断提到线程是有限的,因为它不使用多个核心。 但我会说他们仍然是有用的,因为他们同时工作,从而更快地完成组合的工作量。 我的意思是为什么会有一个Python线程模块呢? 更新: 感谢所有迄今为止的答案。 我理解的方式是,multithreading只能针对一些IO任务并行运行,但是一次只能运行一个CPU线程的多核心任务。 我不完全确定这对我来说意味着什么,所以我只是举一个我想要multithreading的任务的例子。 例如,假设我想循环一个非常长的string列表,我想对每个列表项进行一些基本的string操作。 如果我将这个列表分开,发送每个子列表在一个新的线程中由我的循环/string代码处理,并将结果发回队列,这些工作负载是否会同时运行? 最重要的是,这会从理论上加快运行脚本所需的时间? 另一个例子是,如果我可以在四个不同的线程中使用PIL来渲染和保存四张不同的图片,那么这比一个接一个地处理图片要快吗? 我想这个速度组件是我真正想知道的,而不是正确的术语是什么。 我也知道多处理模块,但是我现在的主要兴趣是中小型任务加载(10-30秒),所以我认为multithreading将会更合适,因为subprocess可能启动缓慢。