小编J0H*_*0HN的帖子

这个lambda/yield/generator理解是如何工作的?

我今天正在查看我的代码库并发现了这个:

def optionsToArgs(options, separator='='):
    kvs = [
        (
            "%(option)s%(separator)s%(value)s" %  
            {'option' : str(k), 'separator' : separator, 'value' : str(v)}
        ) for k, v in options.items()
    ]
    return list(
        reversed(
            list(
                    (lambda l, t: 
                        (lambda f: 
                            (f((yield x)) for x in l)
                        )(lambda _: t)
                    )(kvs, '-o')
                )
            )
        )
Run Code Online (Sandbox Code Playgroud)

它似乎采用参数的dict并将它们转换为shell命令的参数列表.它看起来像是在生成器理解中使用yield,我认为这是不可能的......?

>>> optionsToArgs({"x":1,"y":2,"z":3})
['-o', 'z=3', '-o', 'x=1', '-o', 'y=2']
Run Code Online (Sandbox Code Playgroud)

它是如何工作的?

python ssh lambda functional-programming generator

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

如何使用json_encode从php获取数据到javascript?

我正在尝试将traceroutes映射到谷歌地图.

我在php中有一个带有traceroute数据的数组

$c=ip,latitude,longitude, 2nd ip, its latitude, longitude, ....target ip, its lat, its lng
Run Code Online (Sandbox Code Playgroud)

我使用json_encode($c, JSON_FORCE_OBJECT)并保存了文件

现在,我如何使用javascript访问它,直接将它等同于新的JS对象?

早些时候我曾经在硬盘上有这样的数据格式

var data12 = {

"route":[
{
    "ip": "some ip",

    "longitude": "some lng",

    "latitude": "some lat",

.....
Run Code Online (Sandbox Code Playgroud)

并在我的JavaScript中它被用作

data=data12.route;
Run Code Online (Sandbox Code Playgroud)

然后简单地将成员作为数据[1] .latitude进行访问

javascript php csv json

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

步行IQiberyable的NHibernate实体时带有消息"plan b"的Antlr异常

在尝试实现IQueryable我得到的表格时,我有一个非常奇怪的例外NHibernate.Linq.类型Antlr.Runtime.Tree.RewriteEmptyStreamException只是状态的例外,仅此plan b而已.有关详细的例外情况,请访问http://pastebin.com/kR2dvDHd

这是抛出异常的代码:

var matterExtractor = new MatterExtractor();
var InactiveMatters = matterExtractor.GetMattersAtStatus(General.InactiveMatterStatus);
Assert.IsNotNull(InactiveMatters); //OK
Assert.IsInstanceOfType(InactiveMatters, typeof (IQueryable<Matter>)); // OK
var MaterializedMatters = InactiveMatters.ToList(); //Exception is thrown
Run Code Online (Sandbox Code Playgroud)

Matter Extractor类就像下面这样简单:

public class MatterExtractor
{
    public virtual IQueryable<Matter> GetMattersAtStatus(MatterStatus status)
    {
        return
            (new NHibernateRepository.Repository<Matter>()).Where(
                m => m.MatterStatusHistories.OrderByDescending(msh => msh.CreateTime).FirstOrDefault().MatterStatus == status);
    }
}
Run Code Online (Sandbox Code Playgroud)

NHibernateRepository.Repository<T>是一个实用程序类,通过NHibernate.LINQ扩展方法实现IQueryable NHibernate.Session.这里没有具体的,但以防万一,这里是列表:http://pastebin.com/MgDxDg3Y

我不认为它与NHibernate映射有关,因为与Matter实体交互的其他测试运行得很好.很可能它与该Where条款有关,但我无法理解该条款出了什么问题.我试过更换

OrderByDescending(msh => msh.CreateTime).FirstOrDefault()
Run Code Online (Sandbox Code Playgroud)

OrderBy(msh => msh.CreateTime).LastOrDefault() …
Run Code Online (Sandbox Code Playgroud)

c# linq nhibernate fluent-nhibernate

11
推荐指数
1
解决办法
670
查看次数

Pycharm设置正确的环境变量PATH

我正在使用pycharm执行以下操作:

print(os.environ["PATH"]) # returns '/usr/bin:/bin:/usr/sbin:/sbin'
Run Code Online (Sandbox Code Playgroud)

但是当我在shell中执行echo $ PATH时,会返回:

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/local/bin:/opt/local/sbin
Run Code Online (Sandbox Code Playgroud)

我尝试在Preferences> Console> Python Console> Environment Variables中进行编辑

PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/local/bin:/opt/local/sbin

但这不起作用

任何的想法?

python interpreter pycharm

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

如何在使用gnu-make链接静态库时遵循链接顺序?

我有以下问题:

cc -g -O2 -Wall -Wextra -Isrc -rdynamic -DNDEBUG  build/liblcthw.a    tests/list_tests.c   -o tests/list_tests
/tmp/ccpvGjZp.o: In function `test_create':
~/lcthw/tests/list_tests.c:12: undefined reference to `List_create'
collect2: ld returned 1 exit status
make: *** [tests/list_tests] Error 1
Run Code Online (Sandbox Code Playgroud)

cc -g -O2 -Wall -Wextra -Isrc -rdynamic -DNDEBUG tests/list_tests.c  build/liblcthw.a -o tests/list_tests
Run Code Online (Sandbox Code Playgroud)

运行得很好,nm显示预期的内容,测试运行,每个人都很开心,等等.

我搜索了SO并找到了很多答案(例如链接器命令 - GCC),所以很明显链接器的工作原理应该如此.那么,我应该如何修改我的makefile以遵循命令呢?

到目前为止,这是Makefile:

CFLAGS=-g -O2 -Wall -Wextra -Isrc -rdynamic -DNDEBUG $(OPTFLAGS)
LIBS=$(OPTLIBS)
PREFIX?=/usr/local
BUILD=build

SOURCES=$(wildcard src/**/*.c src/*.c)
OBJECTS=$(patsubst %.c,%.o,$(SOURCES))

TEST_SRC=$(wildcard tests/*_tests.c)
TESTS=$(patsubst %.c,%,$(TEST_SRC))

TARGET=$(BUILD)/liblcthw.a
TARGET_LINK=lcthw
SO_TARGET=$(patsubst %.a,%.so,$(TARGET))

#The …
Run Code Online (Sandbox Code Playgroud)

c makefile gnu-make static-linking

8
推荐指数
1
解决办法
2146
查看次数

如何将WorkItemCollection转换为List

我想转换WorkItemCollection为a List<WorkItem>,以便我可以将其进一步转换为a dictionary.这是迄今为止的代码:

var testItemCollectionList = new List<WorkItem>();
WorkItemCollection testItemCollection;
Query query = new Query(project.Store, "Select [Title] From WorkItems", testResults.Select(item => item.TargetId).ToArray());
var car = query.BeginQuery();
testItemCollection = query.EndQuery(car);
testItemCollectionList = ???;
var testItemMapQuery = testItemCollectionList.ToDictionary(w => w, createItemFromQuery);
Run Code Online (Sandbox Code Playgroud)

c# linq collections tfs list

8
推荐指数
2
解决办法
4730
查看次数

使用HYDRATION_RECORD,Doctrine 1.2水合作用失败,但与HYDRATION_ARRAY一起使用

我有一个完美运行的代码Doctrine_Core::HYDRATION_ARRAY,但崩溃了Doctrine_Core::HYDRATION_RECORD.该页面加载大约两分钟,并显示标准的浏览器错误消息,这是类似的

Connection to the server was lost during the page load.
Run Code Online (Sandbox Code Playgroud)

(我有本地化的浏览器,所以这不是确切的错误消息,但已翻译).

使用mysql命令行Show processlist输出

+-----+--------+-----------------+--------+---------+------+-------+------------------+
| Id  | User   | Host            | db     | Command | Time | State | Info             |
+-----+--------+-----------------+--------+---------+------+-------+------------------+
| 698 | root   | localhost:53899 | NULL   | Query   |    0 | NULL  | show processlist |
| 753 | *user* | localhost:54202 | *db1*  | Sleep   |  102 |       | NULL             |
| 754 | *user* | localhost:54204 | …
Run Code Online (Sandbox Code Playgroud)

php mysql doctrine doctrine-1.2 php-5.2

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

表格单元格内的文本未正确对齐

我正在使用xhtml2pdf(以前pisa,或反之亦然?:))从django模板生成PDF.模板呈现正常,但是我从该模板获得的PDF以非常奇怪的方式被破坏:表格单元格中的文本被提升到单元格的顶部,因此大写字母触及单元格的上边框:

在此输入图像描述

在浏览器中它看起来像这样:

在此输入图像描述

我试过了:

  1. 应用vertical-align- 看起来它只是被忽略了,至少我没有注意到pdf的任何变化,即使它们是在生成的html中
  2. 应用padding-top- 它会向下移动文本,但也会增加单元格高度.
  3. 文本换行到spanmargin-top-因为同样的效果padding-top

我认为原因是文本由xhtml2pdf在最顶部呈现,而浏览器倾向于将其呈现在块的中间某处.换句话说,文本块在pdf和html中占据相同的位置,但块内的文本被移位.但这只是我的猜测.

那么,有没有人面临同样的问题?难道我做错了什么?有可能的解决方法吗?

代码片段:

python django reportlab xhtml2pdf

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

Python中的多个级别的键和值

我想知道我试图在python中实现的功能是否可行.

我有一个名为Creatures的全局哈希.生物包含称为哺乳动物,两栖动物,鸟类,昆虫的亚哈希.

哺乳动物有亚哈斯,称为鲸鱼,大象.两栖动物有子哈希,称为青蛙,幼虫.鸟类有亚哈希,叫鹰,长尾小鹦鹉.昆虫有子哈希,称为蜻蜓,蚊子.

再次,老鹰有子哈希,称为男性,女性.

我正在计算文本文件中所有这些生物的频率.例如,如果文件格式如下:

Birds   Eagle  Female
Mammals whales Male
Birds   Eagle  Female

I should output Creatures[Birds[Eagle[Female]]] = 2
                Creatures[mammals[Whales[Male]]] = 1  
Run Code Online (Sandbox Code Playgroud)

在Python中有可能吗?怎么做到呢?我是Python的新手,非常感谢帮助.我对字典只有1级,即键 - >值感到满意.但在这里,有多个键和多个值.我不知道如何处理这个问题.我正在使用python 2.6.谢谢你的推荐!

python dictionary python-2.7

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

Instagram API OauthException:“您必须提供一个client_id”

当我尝试接收来自Instagram.我的access_token时,请执行以下请求

params = {
    'client_id' : config.INSTAGRAM_APP_ID,
    'client_secret' : config.INSTAGRAM_APP_SECRET_KEY,
    'grant_type' : 'authorization_code',
    'redirect_uri' : '`my localhost`',
    'code' : code
    }
r = requests.post('https://api.instagram.com/oauth/access_token', params = params)
Run Code Online (Sandbox Code Playgroud)

并收到错误:

{"code": 400, "error_type": "OAuthException", "error_message": "You must provide a client_id"}
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

python api access-token instagram python-requests

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