小编Sha*_*ane的帖子

如何从python中的一个文件中读取随机行?

有内置的方法吗?如果不能,如何在不花费太多开销的情况下做到这一点?

python

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

如何在python中将293.4662543之类的浮点数转换为293.47?

如何缩短我得到的浮动结果?点后面我只需要2位数.对不起,我真的不知道如何用英语更好地解释这个......

谢谢

python number-formatting

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

Python实例变量是否是线程安全的?

好的,首先检查以下代码:

class DemoClass():

    def __init__(self):
        #### I really want to know if self.Counter is thread-safe. 
        self.Counter = 0

    def Increase(self):
        self.Counter = self.Counter + 1

    def Decrease(self):
        self.Counter = self.Counter - 1

    def DoThis(self):
        while True:
            Do something

            if A happens:
                self.Increase()
            else:
                self.Decrease()

            time.sleep(randomSecs)

    def DoThat(self):
        while True:
            Do other things

            if B happens:
                self.Increase()
            else:
                self.Decrease()

            time.sleep(randomSecs)

    def ThreadSafeOrNot(self):
        InterestingThreadA = threading.Thread(target = self.DoThis, args = ())
        InterestingThreadA.start()

        InterestingThreadB = threading.Thread(target = self.DoThat, args = ())
        InterestingThreadB.start()
Run Code Online (Sandbox Code Playgroud)

我面临着和上面相同的情况.我真的想知道它是否是线程安全的 …

python multithreading thread-safety

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

在Selenium WebDriver中设置加载页面的实际超时时间?

我正在测试一个包含大量代理的站点,问题是其中一些代理非常慢.因此我的代码时不时地加载页面.

from selenium import webdriver

browser = webdriver.Firefox()
browser.get("http://example.com/example-page.php")
element = browser.find_element_by_id("someElement")
Run Code Online (Sandbox Code Playgroud)

我已经尝试了许多类似的东西explicit waits,implicit waits并且已经搜索了很长一段时间但仍然没有找到解决方案或解决方法.似乎没有什么真正影响页面加载线browser.get("http://example.com/example-page.php"),这就是为什么它总是卡在那里.

有人为此得到了解决方案吗?

更新1:

JimEvans的回答解决了我之前的问题,在这里你可以找到这个新功能的python补丁.

新问题:

browser = webdriver.Firefox()
browser.set_page_load_timeout(30)

browser.get("http://example.com/example-page.php")

element = browser.find_element_by_id("elementA")
element.click() ## assume it's a link to a new page http://example.com/another-example.php

another_element = browser.find_element_by_id("another_element")
Run Code Online (Sandbox Code Playgroud)

正如你所看到的那样,browser.set_page_load_timeout(30)只影响browser.get("http://example.com/example-page.php")这意味着如果这个页面加载超过30秒就会抛出超时异常,但问题是它没有超过页面加载的能力,例如element.click(),尽管它不会阻塞直到新页面完全加载起来,another_element = browser.find_element_by_id("another_element")是在屁股的新的疼痛,因为无论explicit waitsimplicit waits将等待它开始寻找那些元素之前整个页面加载.在某些极端情况下,这甚至需要HOURS.我能做些什么呢?

python selenium webdriver wait selenium-webdriver

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

如何在Python中修改字符串中的单个字符?

如何在Python中修改字符串中的单个字符?就像是:

 a = "hello"
 a[2] = "m"
Run Code Online (Sandbox Code Playgroud)

'str'对象不支持项目分配.

python string

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

urllib2.urlopen()缓存内容吗?

他们没有在python文档中提到这一点.最近我正在测试一个网站只是使用urllib2.urlopen()来刷新网站以提取某些内容,我注意到有时当我更新网站时,urllib2.urlopen()似乎没有得到新添加的内容.所以我想它确实在某处缓存了东西,对吧?

python urllib2 urlopen

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

如何在python 2.7下安装heapy?

似乎最新版本仅适用于2.6.

我面对ImportError: DLL load failed: The specified module could not be found.并找不到任何解决方案,有人知道吗?

有没有其他内存分析器可用于python 2.7?

错误追溯:

>>> import guppy
>>> from guppy import hpy
>>> h = hpy()

Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    h = hpy()
  File "D:\program files\Python2.7\lib\site-packages\guppy\__init__.py", line 37, in hpy
    return r.guppy.heapy.Use
  File "D:\program files\Python2.7\lib\site-packages\guppy\etc\Glue.py", line 45, in __getattr__
    return self._share.getattr(self, name)
  File "D:\program files\Python2.7\lib\site-packages\guppy\etc\Glue.py", line 195, in getattr
    d = self.getattr2(inter, cache, owner, name)
  File "D:\program files\Python2.7\lib\site-packages\guppy\etc\Glue.py", line 213, …
Run Code Online (Sandbox Code Playgroud)

python memory-leaks memory-management

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

在ubuntu上从prefork MPM切换到worker MPM + php-fpm

我找到的所有教程都是如何全新安装工人MPM + PHP-FPM,因为我的wordpress博客已经启动并运行了prefork MPM,如果我在模拟安装过程中出错了,请纠正我:

我在ubuntu上,根据一些教程,以下几行将完成所有技巧:

apt-get install apache2-mpm-worker libapache2-mod-fastcgi php5-fpm php5-gd
a2enmod actions fastcgi alias
Run Code Online (Sandbox Code Playgroud)

然后在以下位置设置配置/etc/apache2/conf.d/php5-fpm.conf:

<IfModule mod_fastcgi.c>
                AddHandler php5-fcgi .php
                Action php5-fcgi /php5-fcgi
                Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
                FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -pass-header Authorization
</IfModule>
Run Code Online (Sandbox Code Playgroud)

完成所有这些后,重启:

service apache2 restart && service php5-fpm restart
Run Code Online (Sandbox Code Playgroud)

题:

1)在以前运行prefork MPM的网站的整个过程中是否会导致停机时间?

2)你是否必须更改任何已经存在的配置文件,如php或mysql或apache2(它们会在切换后立即生效而不做任何事情)?

3)我已经启动并运行apc,你必须在切换后重新安装/重新配置吗?

4)如何确定apache2是否按预期在工作MPM模式下工作?

非常感谢!

php apache2

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

在python中查找列表中列表元素的最快方法是什么?

该列表与此类似:

[["12", "stuA", "stuB"], ["51", "stuC", "stuD"], ..., ["3234", "moreStuff", "andMore"]]
Run Code Online (Sandbox Code Playgroud)

现在我需要仅通过其第一个值(例如"332")来定位项目(获取索引).有没有更好的方法来做到这一点,除了从第一个迭代以与每个值进行比较?

码:

index = 0
for item in thelist:
    if item[0] == "332":
         print index

    index = index + 1
Run Code Online (Sandbox Code Playgroud)

python list python-2.7

10
推荐指数
2
解决办法
421
查看次数

如何让机械化请求看起来像是来自真正的浏览器

好的,这是我在登录帐户时从Live HTTP Header获得的标题(只是一个示例)信息:

http://example.com/login.html

POST /login.html HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 GTB7.1 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://example.com
Cookie: blahblahblah; blah = blahblah
Content-Type: application/x-www-form-urlencoded
Content-Length: 39
username=shane&password=123456&do=login

HTTP/1.1 200 OK
Date: Sat, 18 Dec 2010 15:41:02 GMT
Server: Apache/2.2.3 (CentOS)
X-Powered-By: PHP/5.2.14
Set-Cookie: blah = blahblah_blah; expires=Sun, 18-Dec-2011 15:41:02 GMT; path=/; domain=.example.com; HttpOnly
Set-Cookie: blah = blahblah; expires=Sun, 18-Dec-2011 …
Run Code Online (Sandbox Code Playgroud)

python mechanize http-post http-headers mechanize-python

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