如何缩短我得到的浮动结果?点后面我只需要2位数.对不起,我真的不知道如何用英语更好地解释这个......
谢谢
好的,首先检查以下代码:
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)
我面临着和上面相同的情况.我真的想知道它是否是线程安全的 …
我正在测试一个包含大量代理的站点,问题是其中一些代理非常慢.因此我的代码时不时地加载页面.
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 waits或implicit waits将等待它开始寻找那些元素之前整个页面加载.在某些极端情况下,这甚至需要HOURS.我能做些什么呢?
如何在Python中修改字符串中的单个字符?就像是:
a = "hello"
a[2] = "m"
Run Code Online (Sandbox Code Playgroud)
'str'对象不支持项目分配.
他们没有在python文档中提到这一点.最近我正在测试一个网站只是使用urllib2.urlopen()来刷新网站以提取某些内容,我注意到有时当我更新网站时,urllib2.urlopen()似乎没有得到新添加的内容.所以我想它确实在某处缓存了东西,对吧?
似乎最新版本仅适用于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) 我找到的所有教程都是如何全新安装工人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模式下工作?
非常感谢!
该列表与此类似:
[["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) 好的,这是我在登录帐户时从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 ×9
apache2 ×1
http-headers ×1
http-post ×1
list ×1
mechanize ×1
memory-leaks ×1
php ×1
python-2.7 ×1
selenium ×1
string ×1
urllib2 ×1
urlopen ×1
wait ×1
webdriver ×1