小编Dre*_*rew的帖子

按字典中的值过滤项目

我有一个像这样的字典设置:

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 级,或者携带狼牙棒或剑,他们就会出现在该列表中。

python filtering python-3.x

5
推荐指数
1
解决办法
6485
查看次数

Tkinter、透明背景、Linux

有没有办法在 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?

linux mint tkinter 透明窗口

tkinter 窗口中的透明背景

python linux tkinter

5
推荐指数
1
解决办法
6199
查看次数

kivy python 3.x循环添加小部件.kv

我有一个像这样的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 中?

python kivy

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

Rust,rand gen_range 需要 1 个参数,而不是 2 个?

我正在学习 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)

rust

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

使用id将td元素添加到tr

几乎就是标题所说的.我有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)

html javascript

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

获取单击div的宽度,高度和偏移量 - Angular 2

我有一个模板创建一个链接列表使用*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 1activeLink = 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)

angular2-directives angular

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

jquery如何获得imgs src

我有一个画廊,我有一些像这样的代码设置

$('.gallery img').click(function(){
    $('#gal_img').html('<img src=""/>');
});
Run Code Online (Sandbox Code Playgroud)

这有很多其他的东西运行不重要,但我希望它从".gallery img"获取img src放入新的img.我在.gallery div中有多个图像

javascript jquery

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

jquery attr将id添加到现有元素

我在div里面有一堆imgs,上面有一个类,在我的JS中我有一个for循环,可以将图像重新调整为一个框内的fir,而不需要拉伸

$('.gallery img')[i].attr('id', 'img' + i);
Run Code Online (Sandbox Code Playgroud)

这就是我试图让每个img拥有自己的id,如'img1''img2''img3'等

但似乎行不通

jquery attr

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

Python asyncio(aiohttp,aiofiles)

我似乎很难理解蟒蛇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)

这是我的想象,但它不起作用.

python python-asyncio

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

将子目录中的图像转换为pdf

我有一堆带有图像的子文件夹。我正在尝试使用目录名称作为 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 并将其向上移动一个级别到父目录中。

linux bash imagemagick-convert

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