小编Ove*_*ivr的帖子

Pyparsing分隔列表仅返回第一个元素

这是我的代码:

l = "1.3E-2   2.5E+1"
parser = Word(alphanums + '+-.')
grammar = delimitedList(parser,delim='\t ')
print(grammar.parseString(l))
Run Code Online (Sandbox Code Playgroud)

它返回:

['1.3E-2']
Run Code Online (Sandbox Code Playgroud)

有意思的是,我想要所有的价值观,而不是单一的价值观,知道发生了什么?

python pyparsing

4
推荐指数
2
解决办法
1192
查看次数

将默认字符串值添加到反序列化的 serde 结构失败,并出现特征 Deserialize<'_> 未实现

我有以下从 XML 文件反序列化的结构。

#[derive(Deserialize, Debug)]
pub struct RawItem {
    id: String,
    title: String,
    description: Option<String>,
    link: String,
    image_link: String,
    availability: String,
    price: String,
}
Run Code Online (Sandbox Code Playgroud)

到目前为止一切顺利,该对象已正确反序列化。现在,我的 XML 数据略有变化,价格字段变为可选。我想在丢失时将价格回退到“0.0”,因此我使用了 serde 默认机制:

#[derive(Deserialize, Debug)]
pub struct RawItem {
    id: String,
    title: String,
    description: Option<String>,
    link: String,
    image_link: String,
    availability: String,
    #[serde(default = "0.0")] // Added this new line
    price: String,
}
Run Code Online (Sandbox Code Playgroud)

由于某种原因,它失败并出现以下错误:

error: failed to parse path: "0.0"
  --> /home/xxxxxx/xxxxx/xxxxx/xxxxxx/xxxx/xxxxx/src/xxxx_specifics.rs:81:20
   |
81 |     #[serde(default = "0.0")]
   |                       ^^^^^

error[E0277]: the trait bound `xxxx_specifics::RawItem: …
Run Code Online (Sandbox Code Playgroud)

rust serde

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

如何将字符串字段反序列化为 bool

我目前有一个 JSON 字符串,正在使用serde_json.

{
  "foo": "<val>" // val can contain "SI" or "NO"
}
Run Code Online (Sandbox Code Playgroud)

我想使用将其反序列化为 boolserde和将“SI”变为 true 的自定义查找,反之亦然。

#[derive(Deserialize)]
pub struct Entry {
   pub foo: bool, // How to express string to bool deserialization ?
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能简单地做到这一点?

rust serde

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

使用 docker:dind + google/cloud-sdk 找不到 docker

docker: command not found在 gitlab-ci 中运行以下 CI 脚本时出现错误。此错误发生在before_script部署阶段。

services:
  - docker:dind

stages:
  - build
  - test
  - deploy

before_script:
  - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY

build:
  stage: build
  image: docker:latest
  script:
    - docker info
    - docker version
    - docker build --pull -t $SERVICE_NAME:$CI_COMMIT_REF_NAME .
    - docker image list
    - docker tag $SERVICE_NAME:$CI_COMMIT_REF_NAME $CI_REGISTRY_IMAGE/$SERVICE_NAME:$CI_COMMIT_REF_NAME
    - docker push $CI_REGISTRY_IMAGE/$SERVICE_NAME:$CI_COMMIT_REF_NAME

test:
  image: docker:latest
  stage: test
  script:
    - docker pull $CI_REGISTRY_IMAGE/$SERVICE_NAME:$CI_COMMIT_REF_NAME
    - docker image list
    - docker run $CI_REGISTRY_IMAGE/$SERVICE_NAME:$CI_COMMIT_REF_NAME …
Run Code Online (Sandbox Code Playgroud)

docker gitlab-ci gitlab-ci-runner google-cloud-sdk

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

tkinter 框架边框不显示

我希望显示包含多个小部件的框架的边框,但是尽管将宽度设置为边框并将 SUNKEN 值设置为浮雕,但没有显示边框

它在空框架上工作得很好,所以我猜它不适用于有孩子的框架,这是正确的吗?

我怎么能做到呢?或者至少在我的界面的两个区域之间引入分离

测试代码:

import tkinter as Tk

class Application(Tk.Frame):

    def __init__(self, **kwargs):
        #Create window
        self.root = Tk.Tk()

        #Init master frame
        Tk.Frame.__init__(self,self.root,width=640, height=480)
        self.grid()

        #Frame
        self.frame_com_ports = COM_Frame(self,borderwidth=5,relief=Tk.GROOVE)
        self.frame_com_ports.grid(column=0,row=0,sticky='EW')

        #Some other frames here...

class COM_Frame(Tk.Frame):
    def __init__(self,parent, **kwargs):
        Tk.Frame.__init__(self,parent)

        #Widgets
        self.txt_ports = Tk.Label(self,text="WIDGET1")
        self.txt_ports.grid(column=0,row=0,sticky='EW',pady=3,padx=3)

        self.txt_ports = Tk.Label(self,text="WIDGET2")
        self.txt_ports.grid(column=0,row=1,sticky='EW',pady=3,padx=3)

if __name__ == "__main__":
    app = Application()
    app.mainloop()
Run Code Online (Sandbox Code Playgroud)

python tkinter

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

间隔比较中的未知变量不会引发NameError

我今天用这个简单的代码面临一个非常奇怪的问题:

var1 = 1
var2 = 2

if var1 > var2 > var3:
    print('Does not run')

print('Did not crash')
Run Code Online (Sandbox Code Playgroud)

输出:

Did not crash
Run Code Online (Sandbox Code Playgroud)

为什么这段代码没有在Python 3.7中引发NameError?用简单的比较代替间隔比较会引起NameError异常。这是python的错误吗?

python python-3.7

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

Neo4J / Cypher - 计算 2 之间的持续时间(不含周末)

有没有一种方法可以使用 neo4j / cypher 来计算两个日期之间的天数差异而不包括周末(基本上只计算工作/公司开放日)?

此查询中的某些内容:

return duration.inDays(date("2022-01-01"), date("2022-01-19")).days
Run Code Online (Sandbox Code Playgroud)

但没有周末。

我怎样才能做到这一点?

neo4j cypher

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

默认情况下,docker容器可以调用host的localhost UDP吗?

我有一个docker容器,并且还在VM上安装了一个守护程序,用于在端口8125上侦听UDP.容器在此8125端口上使用UDP协议发送数据.

我试图通过启动容器来打开端口-p 8125:8125/udp,但是我收到以下错误:

Error starting userland proxy: listen udp 0.0.0.0:8125: bind: address already in use
Run Code Online (Sandbox Code Playgroud)

这是有道理的,因为守护进程已经在侦听此端口.

那么如何配置Docker以便容器可以将UDP有效负载发送到外部守护进程?

udp docker

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

为什么在使用archiver.file模块压缩文件时会出现“队列关闭错误”

我正在尝试使用归档程序在 nodejs 中以 zip 格式下载多个文件。这是我的代码:

exports.downloadAllFiles = function(req,res){
    var archive = archiver('zip', {
        gzip: true,
        zlib: { level: 9 } // Sets the compression level.
    });
    var output = fs.createWriteStream( "/home/files/Downloads/demo.zip");

    archive.pipe(output);

    demoDb.findOne({ caseguid: req.params.id }, function(err, data) { 
        if (err) {
            res.json(HttpStatus.INTERNAL_SERVER_ERROR, {});
        } else {
            if(data){
                data.Files.forEach(function(singleDoc){
                       archive.append(fs.createReadStream(singleDoc.filePath), { name: singleDoc.fileName })

                })

            }

         }

    })
    archive.finalize();
};
Run Code Online (Sandbox Code Playgroud)

这是错误堆栈:

{ Error: queue closed
    at Archiver.append (/home/node_modules/archiver/lib/core.js:552:24)
    at Promise.<anonymous> (/home/server/controllers/caseController.js:1722:25)
    at Promise.<anonymous> (/home/node_modules/mpromise/lib/promise.js:177:8)
    at emitOne (events.js:96:13)
    at Promise.emit (events.js:188:7) …
Run Code Online (Sandbox Code Playgroud)

node.js

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

strongloop loopback GET ressource/exists vs HEAD ressource

对于持久化模型,使用strongloop的loopback默认REST API,执行以下操作之间的区别是什么:

  • HEAD Ressource/{id}
  • GET Ressource/{id}/exists

strongloop loopbackjs

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