如何区分None和False使用django模板?
{% if x %}
True
{% else %}
None and False - how can I split this case?
{% endif %}
Run Code Online (Sandbox Code Playgroud) ubuntu 11.04有本机python2.7我从源码到/usr/local/python2.5/bin构建python2.5,并尝试为我的自定义python2.5安装安装lxml.我也使用virtualenv.我用python2.5切换到我的环境.在导入lxml时出现错误.
from lxml import etree
ImportError: /home/se7en/.virtualenvs/e-py25/lib/python2.5/site-packages/lxml-2.2.4-py2.5-linux-i686.egg/lxml/etree.so: undefined symbol: PyUnicodeUCS2_DecodeLatin1
Run Code Online (Sandbox Code Playgroud)
使用python2.7 env,一切正常,但在python2.5导入失败.请帮忙修复python2.5?
ldd /home/se7en/.virtualenvs/e-py25/lib/python2.5/site-packages/lxml-2.2.4-py2.5-linux-i686.egg/lxml/etree.so
结果:
(e-py25)se7en@se7en-R510-P510:~/downloads/lxml-2.2.4$ ldd /home/se7en/.virtualenvs/e-py25/lib/python2.5/site-packages/lxml-2.2.4-py2.5-linux-i686.egg/lxml/etree.so
linux-gate.so.1 => (0x00968000)
libxslt.so.1 => /usr/lib/libxslt.so.1 (0x005aa000)
libexslt.so.0 => /usr/lib/libexslt.so.0 (0x00110000)
libxml2.so.2 => /usr/lib/libxml2.so.2 (0x00db3000)
libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0x00a22000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0x00564000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0x00123000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0x0013c000)
libgcrypt.so.11 => /lib/i386-linux-gnu/libgcrypt.so.11 (0x0029d000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0x00d6e000)
/lib/ld-linux.so.2 (0x004fc000)
libgpg-error.so.0 => /lib/i386-linux-gnu/libgpg-error.so.0 (0x00879000)
(e-py25)se7en@se7en-R510-P510:~/downloads/lxml-2.2.4$
Run Code Online (Sandbox Code Playgroud) 我试图通过python中的selenium填充表单字段:
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Firefox()
driver.get("http://www.miralinks.ru/")
driver.implicitly_wait(30)
login = driver.find_element_by_css_selector('input[placeholder="?????"]')
hov = ActionChains(driver).move_to_element(login)
hov.perform()
login.clear()
login.send_keys("login")
pwd = driver.find_element_by_css_selector('input[placeholder="??????"]')
pwd.clear()
pwd.send_keys("pass")
Run Code Online (Sandbox Code Playgroud)
但是这个例外失败:
元素目前不可交互,也可能无法操纵
为什么会发生这种情况并且要解决这个问题?
webdriver __version__ = '2.45.0'.
我在python中有一些元组.例如,容量限制为5.我想将子元素拆分为由元素总和限制的子元素:
例如:
input: (3, 1, 4, 2, 2, 1, 1, 2) and capacity = 5
output: (3, 1) (4) (2, 2, 1) (1, 2) #each subtuple is less than 5, order safe.
Run Code Online (Sandbox Code Playgroud)
我正在寻找这个任务的一个很好的表达解决方案,最好是在编程的功能风格(itertools.dropwhile例如使用或类似的东西)
我需要使用django orm来实现这个查询:
update table set field=field+1 where id=id
Run Code Online (Sandbox Code Playgroud)
我不想用这个:
o = model.objects.get(id=id)
o.field+=1
o.save()
Run Code Online (Sandbox Code Playgroud)
因为它使用select和何时更新,而不是线程安全.
如何通过orm实现这个?
我使用python多处理并使用以下代码等待所有进程:
...
results = []
for i in range(num_extract):
url = queue.get(timeout=5)
try:
print "START PROCESS!"
result = pool.apply_async(process, [host,url],callback=callback)
results.append(result)
except Exception,e:
continue
for r in results:
r.get(timeout=7)
...
Run Code Online (Sandbox Code Playgroud)
我尝试使用pool.join但得到错误:
Traceback (most recent call last):
File "C:\workspace\sdl\lxchg\walker4.py", line 163, in <module>
pool.join()
File "C:\Python25\Lib\site-packages\multiprocessing\pool.py", line 338, in joi
n
assert self._state in (CLOSE, TERMINATE)
AssertionError
Run Code Online (Sandbox Code Playgroud)
为什么加入不工作?什么是等待所有流程的好方法.
我的第二个问题是如何在池中重启某个进程?我在内存泄漏的原因需要这个.现在实际上我在所有进程完成任务后重建所有池(创建新的对象池来重新启动进程).
我需要的是:例如我在游泳池中有4个进程.然后进程得到他的任务,任务完成后我需要杀死进程并启动新的(刷新内存泄漏).
在 Haskell 中,id函数在类型级别上定义为,id :: a -> a并实现为仅返回其参数而不进行任何修改,但如果我们进行一些类型自省,TypeApplications我们可以尝试在不破坏类型签名的情况下修改值:
{-# LANGUAGE AllowAmbiguousTypes, ScopedTypeVariables, TypeApplications #-}\n\nmodule Main where\n\nclass TypeOf a where\n typeOf :: String\n\ninstance TypeOf Bool where\n typeOf = "Bool"\n\ninstance TypeOf Char where\n typeOf = "Char" \n\ninstance TypeOf Int where\n typeOf = "Int" \n \ntweakId :: forall a. TypeOf a => a -> a\ntweakId x \n | typeOf @a == "Bool" = not x\n | typeOf @a == "Int" = x+1\n | typeOf @a == "Char" …Run Code Online (Sandbox Code Playgroud) Haskell 中的模式匹配是否可以用于以这种方式解构数字:
f (n + 1) = n
Run Code Online (Sandbox Code Playgroud)
我期望前体为:f 6 = 5,f 5 = 4 等。
我在这里找到了这种模式匹配的用法:https : //wiki.haskell.org/Continuation
facCPS :: a -> (a -> r) -> r
facCPS 0 k = k 1
facCPS n'@(n + 1) k = facCPS n $ \ret -> k (n' * ret)
facCPS 4 (+ 2) :: Integral a => a
Run Code Online (Sandbox Code Playgroud)
但在我的 ghci 中它不起作用:
Prelude> f (n + 1) = n :4:12: 错误:模式解析错误:n + 1
也许需要添加一些选项?我可以以某种方式使用模式匹配吗?
下面简单的群集nginx配置,然后我关闭192.168.1.77:3032服务器.
我不时在日志中捕获502错误和"连接到上游客户端时没有上游",而"服务器unix:///var/tmp/site.sock备份;" 工作,因为我猜必须处理请求,但nginx不会发现它是活的.可能是什么问题呢?
nginx配置:
upstream uwsgicluster {
server 192.168.1.77:3032;
server unix:///var/tmp/site.sock backup;
}
server {
listen 80;
server_name site.com www.site.com;
access_log /var/log/nginx/sire.log;
error_log /var/log/nginx/site-error.log;
location / {
uwsgi_pass uwsgicluster;
include uwsgi_params;
}
}
Run Code Online (Sandbox Code Playgroud)
如果我从上游删除192.168.1.77:3032服务器并重新启动nginx它工作正常,但关闭192.168.1.77:3032服务器错误定期发生
我尝试用git简化我的工作,然后我尝试用我的存储库拉
git pull
Run Code Online (Sandbox Code Playgroud)
我得到"权限被拒绝(publickey),我通过两个命令解决这个问题:
1. ssh-agent /bin/bash
2. ssh-add /root/.ssh/mykey
Run Code Online (Sandbox Code Playgroud)
输入/root/.ssh/mukey *的密码- 现在我使用"git pull"
但是我下次通过ssh连接时我必须一次又一次地重新输入这两个命令
如何让它自动初始化以跳过此步骤?