小编Wil*_*den的帖子

连接生成器和项目

我有一个生成器(数字)和一个值(数字).我想迭代这些,好像它们是一个序列:

i for i in tuple(my_generator) + (my_value,)
Run Code Online (Sandbox Code Playgroud)

问题是,据我所知,这会创建3个元组,只是立即丢弃它们,并且还会复制"my_generator"中的项目一次.

更好的approch将是:

def con(seq, item):
    for i in seq:
        yield seq
    yield item

i for i in con(my_generator, my_value)
Run Code Online (Sandbox Code Playgroud)

但我想知道没有那个函数定义是否可以做到这一点

python iterator list-comprehension generator

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

在Python中实现类似列表的索引访问

我希望能够使用类似数组的语法访问python对象的某些值,即:

obj = MyClass()
zeroth = obj[0]
first = obj[1]
Run Code Online (Sandbox Code Playgroud)

这可能吗?如果是这样,你如何在python类中实现这个?

python arrays indexing list

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

量子计算和加密打破

我读过一段时间后,昆腾计算机可以在很短的时间内打破大多数类型的散列和加密(我相信这只是几分钟).这怎么可能?我试过阅读有关它的文章,但我迷失了a quantum bit can be 1, 0, or something else.有人可以解释这是如何与普通英语破解这些算法没有所有花哨的数学?

encryption cryptography quantum-computing

26
推荐指数
1
解决办法
9988
查看次数

如何在lxml xpath查询中使用空名称空间?

我有一个xml文档,格式如下:

<feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:gsa="http://schemas.google.com/gsa/2007">
  ...
  <entry>
    <id>https://ip.ad.dr.ess:8000/feeds/diagnostics/smb://ip.ad.dr.ess/path/to/file</id>
    <updated>2011-11-07T21:32:39.795Z</updated>
    <app:edited xmlns:app="http://purl.org/atom/app#">2011-11-07T21:32:39.795Z</app:edited>
    <link rel="self" type="application/atom+xml" href="https://ip.ad.dr.ess:8000/feeds/diagnostics"/>
    <link rel="edit" type="application/atom+xml" href="https://ip.ad.dr.ess:8000/feeds/diagnostics"/>
    <gsa:content name="entryID">smb://ip.ad.dr.ess/path/to/directory</gsa:content>
    <gsa:content name="numCrawledURLs">7</gsa:content>
    <gsa:content name="numExcludedURLs">0</gsa:content>
    <gsa:content name="type">DirectoryContentData</gsa:content>
    <gsa:content name="numRetrievalErrors">0</gsa:content>
  </entry>
  <entry>
    ...
  </entry>
  ...
</feed>
Run Code Online (Sandbox Code Playgroud)

我需要entry在lxml中使用xpath 检索所有元素.我的问题是我无法弄清楚如何使用空名称空间.我尝试过以下示例,但都没有效果.请指教.

import lxml.etree as et

tree=et.fromstring(xml)    
Run Code Online (Sandbox Code Playgroud)

我尝试过的各种事情是:

for node in tree.xpath('//entry'):
Run Code Online (Sandbox Code Playgroud)

要么

namespaces = {None:"http://www.w3.org/2005/Atom" ,"openSearch":"http://a9.com/-/spec/opensearchrss/1.0/" ,"gsa":"http://schemas.google.com/gsa/2007"}

for node in tree.xpath('//entry', namespaces=ns):
Run Code Online (Sandbox Code Playgroud)

要么

for node in tree.xpath('//\"{http://www.w3.org/2005/Atom}entry\"'):
Run Code Online (Sandbox Code Playgroud)

在这一点上,我只是不知道该尝试什么.任何帮助是极大的赞赏.

python xml xpath lxml

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

PHP中最快的XML解析器是什么?

对于某个项目,我需要一些方法来解析XML并从中获取数据.所以我想知道,哪一个内置解析器最快?

此外,解析器可以接受XML字符串作为输入将是很好的 - 我有自己的线程安全的文件实现,我不希望一些讨厌的非线程安全库使我的努力无用.

php xml performance

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

Wordpress标题:如果超过50个字符,显示省略号

我有一个带有标题的wordpress网站,如果标题有超过50个字符,我需要在标题的末尾添加省略号(...)并将标题停止在50个字符.下面是我正在编写的PHP,但它似乎无法正常工作,寻求PHP大师教我正确的方法.任何帮助将不胜感激.

<?php if (strlen("the_title()") > 50) { ?>
                <?php the_title(); ?>
            <?php } if (strlen("the_title()") < 50) { ?>
                <?php echo substr(get_the_title(), 0, 50); ?>...
            <?php } ?>   
Run Code Online (Sandbox Code Playgroud)

php wordpress

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

通过os.system推送

我正在使用crontab为我的minecraft服务器运行维护脚本.大多数情况下它工作正常,除非crontab尝试使用重启脚本.如果我手动运行重启脚本,则没有任何问题.因为我认为它与路径名称有关,所以我试图确保它总是从Minecraft目录中执行任何minecraft命令.所以我在pushd/popd中包含命令:

os.system("pushd /directory/path/here")
os.system("command to sent to minecraft")
os.system("popd")
Run Code Online (Sandbox Code Playgroud)

下面是一个互动会话,将我的世界排除在外.一个简单的"ls"测试.正如你所看到的,它根本没有运行来自pushd目录的os.system命令,而是来自/ etc /,这是我运行python的目录,以说明我的观点.Clearly pushd无法通过python运行所以我想知道我还能做到这一点.谢谢!

>>> def test():
...     import os
...     os.system("pushd /home/[path_goes_here]/minecraft")
...     os.system("ls")
...     os.system("popd")
... 
>>> test()
~/minecraft /etc
DIR_COLORS    cron.weekly  gcrypt         inputrc    localtime   mime.types         ntp       ppp         rc3.d       sasldb2         smrsh      vsftpd.ftpusers
DIR_COLORS.xterm  crontab      gpm-root.conf      iproute2   login.defs  mke2fs.conf            ntp.conf      printcap        rc4.d       screenrc        snmp       vsftpd.tpsave
X11       csh.cshrc    group          issue      logrotate.conf  modprobe.d         odbc.ini      profile         rc5.d       scsi_id.config  squirrelmail   vz
adjtime       csh.login    group-         issue.net  logrotate.d     motd               odbcinst.ini  profile.d       rc6.d       securetty       ssh        warnquota.conf
aliases …
Run Code Online (Sandbox Code Playgroud)

python cron centos

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

JQuery .load()回调函数

我已经看到很多这样的问题和解决方案,但没有任何对我有用.我有这个:

function() {
    $("#bdiv").load("bosses.php #icc10n",function(){
        return $("#bdiv").html();
    });
}
Run Code Online (Sandbox Code Playgroud)

但它不起作用.为了澄清,我想将内容加载到#bdiv然后返回内容#bdiv.但似乎$("#bdiv").html()在内容加载之前返回,即使我把它放在回调函数中.

ajax jquery load

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

"[RASHCNET]"指的是什么属性?

在一些Robocopy选项中,例如:

/a+:[RASHCNET] - 将指定的属性添加到复制的文件中.

/a-:[RASHCNET] - 从复制的文件中删除指定的属性.

[RASHCNET]涉及什么属性?

robocopy

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

更新切片列表

我以为我理解Python切片操作,但当我尝试更新切片列表时,我感到困惑:

>>> foo = [1, 2, 3, 4]
>>> foo[:1] = ['one'] # OK, foo updated
>>> foo
['one', 2, 3, 4] 
>>> foo[:][1] = 'two' # why foo not updated?
>>> foo
['one', 2, 3, 4] 
>>> foo[:][2:] = ['three', 'four'] # Again, foo not updated
>>> foo
['one', 2, 3, 4] 
Run Code Online (Sandbox Code Playgroud)

为什么foo之后没有更新foo[:][1] = 'two'

更新:也许我没有清楚地解释我的问题.我知道切片时会创建一个新列表.我怀疑切片分配更新列表的原因(例如foo[:1] = ['one']),但如果有两个切片级别,则不会更新原始列表(例如foo[:][2:] = ['three', 'four']).

python list

15
推荐指数
3
解决办法
761
查看次数