我有一个像这样的字典设置:
deck = [{
'name': 'drew',
'lvl': 23,
'items': ['sword', 'axe', 'mana_potion']},
{
'name': 'john',
'lvl': 23,
'items': ['sword', 'mace', 'health_potion']}]
Run Code Online (Sandbox Code Playgroud)
这是一个基本示例,我需要一种方法来过滤(仅复制 {characters})匹配某些值,例如我只想要 23 级或携带剑的角色。
我正在考虑做这样的事情:
filtered = filter_deck(deck, 'mace')
def filter_deck(self, deck, filt):
return [{k:v for (k,v) in deck.items() if filt in k}]
Run Code Online (Sandbox Code Playgroud)
并返回:
filtered = [{
'name': 'john',
'lvl': 23,
'items': ['sword', 'mace', 'health_potion']}]
Run Code Online (Sandbox Code Playgroud)
当我不知道它是单个值还是值列表或如何过滤多个值时,我不确定如何过滤 k:v 或 k:[v1,v2,v3] 等特定项目。
我不确定如何使用多个键过滤字符。假设我想筛选出 23 级的角色,或者有 items['sword'] 或 items['mace'] 的角色。我怎样才能让它排序filter_cards(deck, ['lvl'=23, 'items'=['sword','mace'])
因此,如果任何角色达到 23 级,或者携带狼牙棒或剑,他们就会出现在该列表中。
有没有办法在 Linux 上的 Tkinter 窗口中获得透明背景?
我目前看到的唯一方法是:
import tkinter as tk
root = tk.Tk()
root.overrideredirect(True)
root.wait_visibility(True)
root.wm_attributes("-alpha", 0.0)
canvas = tk.Canvas(root, width=300, height=300)
canvas.pack()
canvas.create_rectangle(50, 25, 150, 75, fill="red")
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
然而,这不是我想要的。我想让背景变得透明,这样我的叠加层就可以是其他东西。
我在这里找到了几篇文章,但它们只涵盖了 Windows 和 Mac OS 上的背景透明度。Linux相关的只是alpha?
我有一个像这样的Python脚本:
class GuiApp(App):
def build(self):
#for i in range(24):
#Grid.add_widget(Button(text='Test'))
return Gui()
class Gui(BoxLayout):
pass
Run Code Online (Sandbox Code Playgroud)
我有一个像这样的 .kv 文件:
<Gui>:
BoxLayout:
orientation: 'vertical'
Button:
text: 'Top'
GridLayout:
id: Grid
cols: 5
rows: 5
Run Code Online (Sandbox Code Playgroud)
如何应用循环将 24 个按钮添加到 GridLayout?
我以为我可以像 python 注释中所示那样调用 id Grid,但是失败了。
如何应用循环将按钮添加到 kv 文件中带有 id Grid 的 GridLayout 中?
我正在学习 rust lang 网站上的学习 rust 书,但随机数生成不起作用。
具体来说,当尝试像这样创建随机范围时:
use rand::Rng;
fn main() {
let s: u32 = rand::thread_rng().gen_range(1, 101);
println!("{}", s);
}
Run Code Online (Sandbox Code Playgroud)
我收到错误:
Checking learn-rust v0.1.0 (.../learn-rust)
error[E0061]: this function takes 1 argument but 2 arguments were supplied
--> src/main.rs:8:37
|
8 | let s: u32 = rand::thread_rng().gen_range(1, 101);
| ^^^^^^^^^ - --- supplied 2 arguments
| |
| expected 1 argument
error: aborting due to previous error
For more information about this error, try `rustc --explain E0061`.
error: could not …Run Code Online (Sandbox Code Playgroud) 几乎就是标题所说的.我有html documnet
<table>
<tr>
<td id="1"></td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
设置并希望<td id="2"></td>在前一个下添加一个javascript函数,所以它看起来像.
<table>
<tr>
<td id="1"></td>
<td id="2"></td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud) 我有一个模板创建一个链接列表使用*ngFor和一个单独的div元素,我想根据当前活动的链接更改其位置.
模板:
<div #divHandle
*ngFor="let link of links; let i = index"
class="div-link"
(click)="changeActiveLink(i)">
<h2>{{link}}</h2>
</div>
<div
[@indexState]="activeLink"
id="highlighter"></div>
Run Code Online (Sandbox Code Playgroud)
这导致了如下结构:
<div class="div-link">
<div (click)="changeActiveLink(0)"><h2>Link 1</h2></div>
<div (click)="changeActiveLink(1)"><h2>Link 2</h2></div>
<div (click)="changeActiveLink(2)"><h2>Longer link 1</h2></div>
<div (click)="changeActiveLink(3)"><h2>Longer link 2</h2></div>
</div>
<div id="highlighter"></div>
Run Code Online (Sandbox Code Playgroud)
我希望我的荧光笔div来获得的宽度Link 1时activeLink = 0.类似于这个普通的js:
var High = document.getElementById('highlighter');
High.style.width = document.getElementsByClass('div-link')[0].children[activeLink].offsetWidth; //activeLink = 0
Run Code Online (Sandbox Code Playgroud)
在我的app.component.ts档案中:
import { Component, AfterViewInit, ViewChildren, Directive, QueryList, ElementRef} from '@angular/core';
@Directive({selector: '[class~=div-link]'})
@Directive({selector: '.div-link'}) // variant
@Directive({selector: '#divHandle'}) …Run Code Online (Sandbox Code Playgroud) 我有一个画廊,我有一些像这样的代码设置
$('.gallery img').click(function(){
$('#gal_img').html('<img src=""/>');
});
Run Code Online (Sandbox Code Playgroud)
这有很多其他的东西运行不重要,但我希望它从".gallery img"获取img src放入新的img.我在.gallery div中有多个图像
我在div里面有一堆imgs,上面有一个类,在我的JS中我有一个for循环,可以将图像重新调整为一个框内的fir,而不需要拉伸
$('.gallery img')[i].attr('id', 'img' + i);
Run Code Online (Sandbox Code Playgroud)
这就是我试图让每个img拥有自己的id,如'img1''img2''img3'等
但似乎行不通
我似乎很难理解蟒蛇asyncio.我没有编写任何代码,因为我看到的所有示例都是针对一次性运行的.创建一些协同程序,将它们添加到事件循环中,然后运行循环,它们运行在它们之间切换的任务,完成.这似乎对我没什么帮助.
我想使用asyncio不中断我的应用程序中的操作(使用pyqt5).我想创建一些函数,当在asyncio事件循环中调用run时,然后当它们完成时,它们会进行回调.
我的想象是.为asyncio创建一个单独的线程,创建循环并永远运行它.创建一些功能getFile(url, fp),get(url),readFile(file)等于是在UI,我有一个提交按钮的文本框,用户输入网址,点击提交,它下载文件.
但是,我看到的每个例子,我都看不到如何在正在运行的循环中添加协同程序.而且我没有看到如何在不增加运行循环的情况下做我想做的事情.
#!/bin/python3
import asyncio
import aiohttp
import threading
loop = asyncio.get_event_loop()
def async_in_thread(loop):
asyncio.set_event_loop(loop)
loop.run_forever()
async def _get(url, callback):
print("get: " + url)
async with aiohttp.ClientSession() as session:
async with session.get(url) as response:
result = await response.text()
callback(result)
return
def get(url, callback):
asyncio.ensure_future(_get(url, callback))
thread = threading.Thread(target=async_in_thread, args=(loop, ))
thread.start()
def stop():
loop.close()
def callme(data):
print(data)
stop()
get("http://google.com", callme)
thread.join()
Run Code Online (Sandbox Code Playgroud)
这是我的想象,但它不起作用.
我有一堆带有图像的子文件夹。我正在尝试使用目录名称作为 pdf 名称递归地将它们转换为 pdf 文件。在一些谷歌搜索的帮助下,我尝试使用我写的这个脚本:
#!/bin/bash
for D in `find . -type d` do
convert *.jpg ${PWD##*/}.pdf
end
Run Code Online (Sandbox Code Playgroud)
这没用。我怎样才能让它发挥作用?
每个文件夹中都有多个.JPGs,编号为 01-10 等。使用convert *.jpg name.pdf将所有图像转换为一个 pdf 文件。我想制作一个脚本来执行此操作,并使 PDF 文件具有目录名称。
我还希望脚本然后抓取转换后的 pdf 并将其向上移动一个级别到父目录中。