小编Evg*_*Evg的帖子

Django模板:False与None

如何区分NoneFalse使用django模板?

{% if x %}
True 
{% else %}
None and False - how can I split this case?
{% endif %}
Run Code Online (Sandbox Code Playgroud)

python django templates if-statement

15
推荐指数
2
解决办法
4250
查看次数

ubuntu 11.04 lxml导入自定义python的etree问题

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 lxml

12
推荐指数
1
解决办法
8418
查看次数

python selenium - 元素目前不可交互,也可能无法操作

我试图通过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 selenium selenium-webdriver

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

在函数编程风格中具有容量限制的子元中拆分python元组

我在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例如使用或类似的东西)

python functional-programming python-itertools

12
推荐指数
3
解决办法
954
查看次数

使用django orm生成更新查询

我需要使用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 django orm sql-update

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

python多处理池,等待进程并重新启动自定义进程

我使用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个进程.然后进程得到他的任务,任务完成后我需要杀死进程并启动新的(刷新内存泄漏).

python multiprocessing

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

我们可以在 Haskell 中调整“a -&gt; a”函数吗?

在 Haskell 中,id函数在类型级别上定义为,id :: a -> a并实现为仅返回其参数而不进行任何修改,但如果我们进行一些类型自省,TypeApplications我们可以尝试在不破坏类型签名的情况下修改值:

\n
{-# 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

7
推荐指数
2
解决办法
244
查看次数

haskell 模式匹配数(解构)

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

也许需要添加一些选项?我可以以某种方式使用模式匹配吗?

haskell pattern-matching

6
推荐指数
1
解决办法
75
查看次数

uwsgicluster - 连接上游客户端时没有上游

下面简单的群集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服务器错误定期发生

nginx cluster-computing uwsgi

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

git Permission denied(publickey),在每个连接上

我尝试用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连接时我必须一次又一次地重新输入这两个命令

如何让它自动初始化以跳过此步骤?

git ssh

5
推荐指数
1
解决办法
4976
查看次数