小编Zac*_*ack的帖子

检查Python中的列表中是否存在某些内容

我在Python中有一个元组列表,我有一个条件,我想只在元组不在列表中时才占用分支(如果它在列表中,那么我不想接受if分支)

if curr_x -1 > 0 and (curr_x-1 , curr_y) not in myList: 

    # Do Something
Run Code Online (Sandbox Code Playgroud)

但这并不适合我.我做错了什么?

python membership conditional list

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

应用程序没有拿起.css文件(flask/python)

我正在渲染一个模板,我试图用外部样式表设置样式.文件结构如下.

/app
    - app_runner.py
    /services
        - app.py 
    /templates
        - mainpage.html
    /styles
        - mainpage.css
Run Code Online (Sandbox Code Playgroud)

mainpage.html看起来像这样

<html>
    <head>
        <link rel= "stylesheet" type= "text/css" href= "../styles/mainpage.css">
    </head>
    <body>
        <!-- content --> 
Run Code Online (Sandbox Code Playgroud)

我的风格都没有应用.是否与html是我正在渲染的模板这一事实有关?python看起来像这样.

return render_template("mainpage.html", variables..)
Run Code Online (Sandbox Code Playgroud)

我知道这很有效,因为我仍然可以渲染模板.但是,当我试图将样式代码从html的"head"标签中的"样式"块移动到外部文件时,所有样式都消失了,留下了一个简单的html页面.有人看到我的文件结构有任何错误吗?

html css python templates flask

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

将数据传递到"router-outlet"子组件(角度2)

我有一个父组件进入服务器并获取一个对象.

// parent component

@Component({
    selector : 'node-display',
    template : `
        <router-outlet [node]="node"></router-outlet>
    `
})

export class NodeDisplayComponent implements OnInit {

    node: Node;

    ngOnInit(): void {
        this.nodeService.getNode(path)
            .subscribe(
                node => {
                    this.node = node;
                },
                err => {
                    console.log(err);
                }
            );
    }
Run Code Online (Sandbox Code Playgroud)

在(孩子中的一个)我的孩子展示

export class ChildDisplay implements OnInit{

    @Input()
    node: Node;

    ngOnInit(): void {
        console.log(this.node);
    }

}
Run Code Online (Sandbox Code Playgroud)

看起来我没想到只能将数据注入路由器插座.看起来我在Web控制台中收到了错误...

Can't bind to 'node' since it isn't a known property of 'router-outlet'.
Run Code Online (Sandbox Code Playgroud)

这有点道理,但我怎么做以下......

// parent component

@Component({
    selector : 'node-display',
    template : …
Run Code Online (Sandbox Code Playgroud)

dependency-injection angular2-routing angular

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

AngularJS按表头排序行

我有四个表头:

$scope.headers = ["Header1", "Header2", "Header3", "Header4"];
Run Code Online (Sandbox Code Playgroud)

我希望能够通过单击标题对我的表进行排序.

所以,如果我的表看起来像这样

H1 | H2 | H3 | H4
A    H    D   etc....
B    G    C
C    F    B
D    E    A
Run Code Online (Sandbox Code Playgroud)

然后我点击

H2
Run Code Online (Sandbox Code Playgroud)

我的表现在看起来像这样:

H1 | H2 | H3 | H4
D    E    A   etc....
C    F    B
B    G    C
A    H    D
Run Code Online (Sandbox Code Playgroud)

也就是说,每列的内容永远不会改变,但是通过单击我想按列排序的标题,行将自行重新排序.

我的表的内容是由Mojolicious完成的数据库调用创建的,并返回给浏览器

$scope.results = angular.fromJson(data); // This works for me so far
Run Code Online (Sandbox Code Playgroud)

我拼凑在一起的其余代码看起来像这样:

<table class= "table table-striped table-hover">
    <th ng-repeat= "header in headers">
        <a> {{headers[$index]}} </a> …
Run Code Online (Sandbox Code Playgroud)

html-table angularjs angularjs-ng-repeat

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

Python将字符串与正则表达式匹配

我需要一个python正则表达式来检查字符串中是否存在单词.该字符串可能以逗号分隔.

所以,例如,

line = 'This,is,a,sample,string'
Run Code Online (Sandbox Code Playgroud)

我想基于"样本"进行搜索,这将返回true.我很喜欢reg ex,所以当我查看python文档时,我看到了类似的内容

import re
re.match(r'sample', line)
Run Code Online (Sandbox Code Playgroud)

但我不知道为什么在文本匹配之前会有'r'.有人可以用正则表达式帮助我吗?

python regex

32
推荐指数
4
解决办法
14万
查看次数

Python的assert_called_with,是否有通配符?

假设我在python中设置了这样一个类.

from somewhere import sendmail

class MyClass:

    def __init__(self, **kargs):
        self.sendmail = kwargs.get("sendmail", sendmail)  #if we can't find it, use imported def

    def publish():

        #lots of irrelevant code
        #and then

        self.sendmail(mail_to, mail_from, subject, body, format= 'html')
Run Code Online (Sandbox Code Playgroud)

所以你可以看到,我有点自己选择参数化我用于self.sendmail的函数

现在在测试文件中.

Class Tester():

    kwargs = {"sendmail": MagicMock(mail_from= None, mail_to= None, subject= None, body= None, format= None)}
    self.myclass = MyClass(**kwargs)

    ##later on
    def testDefaultEmailHeader():

        default_subject = "Hello World"
        self.myclass.publish()

        self.myclass.sendmail.assert_called()  #this is doing just fine
        self.myclass.sendmail.assert_called_with(default_subject)  #this is having issues
Run Code Online (Sandbox Code Playgroud)

出于某种原因,我收到错误消息

AssertionError: Expected call: …
Run Code Online (Sandbox Code Playgroud)

python testing assert mocking

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

我将使用ng-include的文件路径是什么?

我的角度项目的路径是这样的

web
    server.py ##flask server program
    app
        static
            app.js
            controllers.js
            etc...
        templates
            index.html
            home.html
Run Code Online (Sandbox Code Playgroud)

的index.html

<!-- this didn't work -->
<ng-include src="templates/home.html"><ng-include>

<!-- nor did this -->
<ng-include src="home.html"></ng-include>
Run Code Online (Sandbox Code Playgroud)

home.html的

<h1> home! </h1>
Run Code Online (Sandbox Code Playgroud)

除了我在输出中没有看到部分(home.html).

有谁看到我的错误?

html partials filepath angularjs angularjs-ng-include

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

Python从并行目录导入模块

我如何组织我的python导入,以便我可以拥有这样的目录.

project
|      \
|      __init__.py
|     
src
|   \
|    __init__.py
|    classes.py
|
test
    \
     __init__.py
     tests.py
Run Code Online (Sandbox Code Playgroud)

然后在/project/test/tests.py中可以导入classes.py

我在tests.py中看到了这样的代码

from .. src.classes import(
    scheduler
    db
)
Run Code Online (Sandbox Code Playgroud)

而且我得到了错误

SystemError: Parent module '' not loaded, cannot perform relative import
Run Code Online (Sandbox Code Playgroud)

谁知道该怎么办?

python import module parent relative-import

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

通过批量API重新索引弹性搜索,扫描和滚动

我试图重新索引我的松紧搜索设置,目前正在研究弹性的文献检索使用Python API的例子

关于这一切如何运作我有点困惑.我能够从Python API获取滚动ID:

es = Elasticsearch("myhost")

index = "myindex"
query = {"query":{"match_all":{}}}
response = es.search(index= index, doc_type= "my-doc-type", body= query, search_type= "scan", scroll= "10m")

scroll_id = response["_scroll_id"]
Run Code Online (Sandbox Code Playgroud)

现在我的问题是,这对我有什么用?什么知道滚动ID甚至给我?文档说使用"批量API",但我不知道scoll_id如何影响到这一点,这有点令人困惑.

谁能给出一个简单的例子展示我如何重新索引从这个角度考虑,我已经得到了正确的scroll_id?

python indexing elasticsearch reindex elasticsearch-bulk-api

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

Tox将错误版本的pip安装到它的虚拟环境中

我使用tox来管理一些测试环境.我有一个依赖(backports.ssl-match-hostname)我无法使用最新版本的pip下载,所以我需要恢复到pip 8.0.3以允许安装工作.

我在我的tox.ini文件中包含了8.0.3版本的pip用于依赖项.

deps=
    pip==8.0.3
Run Code Online (Sandbox Code Playgroud)

但是,当我跑

source .tox/py27/bin/activate
Run Code Online (Sandbox Code Playgroud)

并进入虚拟测试环境,然后运行

pip --version
Run Code Online (Sandbox Code Playgroud)

我结束了

8.1.2
Run Code Online (Sandbox Code Playgroud)

但是,在我的tox环境之外,当我运行相同的命令时,我得到了

8.0.3
Run Code Online (Sandbox Code Playgroud)

抓住点子时,tox有什么特别之处吗?为什么我无法指定要用作依赖项的pip版本?

编辑:添加到这个,似乎我能够获取依赖pip == 8.0.3,但对于其他依赖,它们仍然从使用pip == 8.1.2启动的命令运行

所以,我需要首先抓住pip == 8.0.3,然后一旦安装,抓住其他一切.仍然不确定为什么tox以pip == 8.1.2开头

python linux dependencies pip tox

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