我在Python中有一个元组列表,我有一个条件,我想只在元组不在列表中时才占用分支(如果它在列表中,那么我不想接受if分支)
if curr_x -1 > 0 and (curr_x-1 , curr_y) not in myList:
# Do Something
Run Code Online (Sandbox Code Playgroud)
但这并不适合我.我做错了什么?
我正在渲染一个模板,我试图用外部样式表设置样式.文件结构如下.
/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页面.有人看到我的文件结构有任何错误吗?
我有一个父组件进入服务器并获取一个对象.
// 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) 我有四个表头:
$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) 我需要一个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中设置了这样一个类.
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) 我的角度项目的路径是这样的
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).
有谁看到我的错误?
我如何组织我的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 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
我使用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开头