小编WoJ*_*WoJ的帖子

什么是什么都不做的pythonic方式是什么?

我需要我的主程序在某个时候什么都不做 - 永远(有些线程更早开始做一些工作)。

我想知道这样做的pythonic方法是什么。我特别想避免在这种虚无上丢失 CPU 周期。

我的直接猜测是time.sleep(100000)哪里100000足够大,适合我的程序的生命周期。它有效,但在美学上并不令人愉快。我检查了运行这个的 python 会话的 CPU 负载:不可测量(接近于零)。

我也试过

while True:
    pass
Run Code Online (Sandbox Code Playgroud)

它看起来更好,但对 CPU 的影响是巨大的(~25%)。

有没有一种——最好只有一种——明显的方法来做到这一点

python

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

如何使用BeautifulSoup提取名称/值对?

我有类型的数据

<preference>
  <name>throttle_scan</name>
  <value>yes</value>
</preference>
  <preference><name>listen_address</name>
  <value>0.0.0.0</value>
</preference>
Run Code Online (Sandbox Code Playgroud)

这些本质上是我想用BeautifulSoup提取的名称/值对.

我设法提取了一份清单 preference

soup = bs4.BeautifulSoup(string_with_xml, 'html.parser')
for p in soup.find_all('preference'):
    c = p.contents
    print(c)
Run Code Online (Sandbox Code Playgroud)

给出一个列表preference:

[<name>throttle_scan</name>, '\n', <value>yes</value>, '\n']
[<name>listen_address</name>, '\n', <value>0.0.0.0</value>, '\n']
Run Code Online (Sandbox Code Playgroud)

如何进一步深入查看此列表?我应该去看一个新的

soup = bs4.BeautifulSoup(''.join(c), 'html.parser')
Run Code Online (Sandbox Code Playgroud)

和搜索namevalue

python beautifulsoup

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

为什么W3 Validator声明有一个没有开放的结束</ p>?

我试图验证以下HTML代码

<!DOCTYPE html>
<html>
<head>
  <title>hello</title>
</head>
<body>
  <p>
    This is some <b>text</b>
      <ul>
        <li>A bullet point</li>
        <li>another bullet point</li>
      </ul>
  </p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

按预期呈现,但Validator会引发以下错误:

在此输入图像描述

在我看来,有一个合适的对<p>(...)</p>,为什么错误呢?

html validation

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

如何有条件地计算对象中的元素数量?

我有一个对象,例如

{
  a: {
    x: 1,
    y: 2
  },
  b: {
    x: 1,
    y: 2
  },
  c: {
    x: 100,
    y: 2
  },
}
Run Code Online (Sandbox Code Playgroud)

我想计算满足条件的元素数量x: 1。有没有直接的方法来做到这一点?

我可以采用简单的方式,但我想学习 JavaScriptonic 方式(如果有的话):

{
  a: {
    x: 1,
    y: 2
  },
  b: {
    x: 1,
    y: 2
  },
  c: {
    x: 100,
    y: 2
  },
}
Run Code Online (Sandbox Code Playgroud)

javascript counter

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

将 GoLand 用于 Vue/TS 是否有主要缺点?

我使用 GoLand 进行 Go 开发,使用 WebStorm 进行 Vue 和 Typescript。这是基本的开发,我主要使用类、类型等的提示(建议)。

GoLand 支持 Go 和 Vue/TS。如果我只使用它(而不是单独使用 GoLand 和 WebStorm),我会错过哪些最重要的功能?(广泛使用的)

webstorm goland

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

错误字符串在多大程度上保证不改变?

我对 Golang 的主要问题之一是错误处理基本上是对字符串的检查(我很乐意出错,不要犹豫:))

在下面的示例中,我尝试创建一个目录,但根据问题的类型会有不同的行为。具体来说,如果目录存在,我将直接通过。

package main

import (
    "fmt"
    "os"
)

func main() {
    err := os.Mkdir("test", 0644)
    if err != nil {
        fmt.Printf("error: %v", err)
        if err.Error() == "mkdir test: Cannot create a file when that file already exists" {
            fmt.Printf("the dir already exists")
        } else {
            panic(err)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

它不起作用,不会记录重复的尝试。为什么?啊,糟糕,我忘记了字符串末尾的点mkdir test: Cannot create a file when that file already exists

我觉得依赖错误字符串是脆弱的,而不是像err.ErrorType().DirectoryExists()检查这样的东西(例如有时存在net)。

我的问题:我可以在多大程度上相信错误字符串不会改变?(换句话说,mkdir test: Cannot create a file when that …

error-handling go

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

如何获得一个单词的所有大写?

我现在试着想象一种在Python中生成单词的所有可能大写的方法.例如:

hello
Hello
HEllo
...
heLLo
...
HeLlO
Run Code Online (Sandbox Code Playgroud)

我找到了一些内置函数,这些函数用于大写(.capitalize()例如),但它们似乎解决了典型案例(简单句子,参考书目).我会很感激能看到for我想到的循环,以及递归不是解决方案(我不会在这里提到它们,它们是如此错误)


澄清:由于5到9人之间(通过暂停,下注和评论)需要澄清,我将尝试用不同的词语制作一个.

我有一个由a到z的字符组成的字符串(称为后面的单词).我想在Python中获取所述单词的列表,但是以所有可能的方式大写(即大写字母(如M)和小写字母(如)的混合f.这导致类似于上面的那个(带有变化的单词 hello.

我很高兴我没有问如何将两个数字相乘,我需要用代数环中的速成课程来澄清.

python string capitalization

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

如何将 .map() 与 promise 结合起来?

我有一个数组,对于这个数组的每个元素,我需要fetch一些数据(取决于元素)并将这些数据添加到数组中的元素中。

举个例子,我将fetch用一个 Promise来模拟(在现实生活中,这将是一个网络服务的答案):

let p = new Promise((resolve, reject) => resolve('x'))
let a = ['a', 'b']
a = a.map(x => p.then(y => x + y))
console.log(a)
Run Code Online (Sandbox Code Playgroud)

我期望的是第一个元素 ( a)p被调用,并在解析后将结果添加到a(giving ax)。对于b.

最终我期待一个新的数组['ax', 'bx']

我得到的是一系列 Promises

作为 Promises 的新手(我发现理论上这很棒)我很难理解这里出了什么问题。是否可以在其中组合.map()异步操作?

javascript promise es6-promise map-function

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

空接口是一种绕过类型系统的方法吗?

我正在学习 Go(来自 Python)并且强制输入系统实际上很有帮助。我interface{}对以下代码的理解非常有限,我在其中从 API 检索 JSON 数据并返回解析后的版本。结果可以是一个对象或一个对象列表。

func getJsonFromApi(endpoint string) (reply interface{}, err error) {
    res, err := http.Get("http://127.0.0.42/api/" + endpoint)
    if err != nil {
        return nil, err
    }
    body, err := ioutil.ReadAll(res.Body)
    err = res.Body.Close()
    if err != nil {
        return nil, err
    }
    err = json.Unmarshal(body, &reply)
    return reply, nil
}
Run Code Online (Sandbox Code Playgroud)

它有效,但我因颠覆类型系统而感到不舒服。这是预期的用途interface{}吗?

我最终将更改代码以始终返回一个对象数组(并在我的第一个用例中获取第一个对象),但我对一般问题感到好奇。

go

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

如何在.change()上调用函数?

简介:我想在复选框的状态更改时调用外部函数.

下面的代码,其包括功能时的变化来调用作品(代码可在的jsfiddle,注释部分)

HTML

<input type="checkbox" id="cb">
Run Code Online (Sandbox Code Playgroud)

JS

$("#cb").change(function () {
        if ($("#cb").prop('checked'))
        {
            alert('checked');
        } else {
            alert('unchecked')
        }
    });
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,alert在选中或取消选中复选框时会引发一个.


我现在想要方法之外移动function部分.change():

$("#cb").change(alertme());

function alertme () {
        if ($("#cb").prop('checked'))
        {
            alert('checked');
        } else {
            alert('unchecked')
        }
    }
Run Code Online (Sandbox Code Playgroud)

这不再起作用(状态变化没有警报).为什么会这样?

javascript jquery

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