小编rog*_*ger的帖子

如何在不使用NumberInt(...)进行任何包装的情况下导出mongodb?

我想将mongodb导出为json,这是一条记录:

{"_id":{"$oid":"554f042c0e81bf483e4a4e2f"}, "batch":"3","bz":NumberInt(1)}
Run Code Online (Sandbox Code Playgroud)

问题是当我使用json加载它时:

json.loads('{"_id":{"$oid":"554f042c0e81bf483e4a4e2f"}, "batch":"3","bz":NumberInt(1)}')
Run Code Online (Sandbox Code Playgroud)

它返回ValueError: No JSON object could be decoded。这是因为json无法处理NumberInt(1)

所以,我怎么能翻译NumberInt(1)1时候我出口?

json mongodb mongoexport

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

数据和请求中的参数有什么区别?

我正在使用python requests模块,我之前发送过这样的参数:

requests.post(url=url, params=params)
Run Code Online (Sandbox Code Playgroud)

但是今天,我发现我像这样发送数据,但失败了,我改成这样:

requests.post(url=url, data=params)
Run Code Online (Sandbox Code Playgroud)

那没关系,data和和有params什么区别?

我观察到请求有一个标头X-Requested-With:XMLHttpRequest,是因为这个吗?

python params python-requests

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

由于 virtualenv 或 conda,neovim 无法正确找到 python?

我安装YouCompleteMeUltiSnips在我的插件neovim。正常情况下,一切正常。

但是我MiniConda在我的 python 开发中使用的MiniConda是类似的东西virtualenv,我有一个名为 的虚拟 python env parser,当我用 激活这个 virtualenv 时source activate parser,出了点问题:

YouCompleteMe unavailable: requires Vim compiled with Python 2.x support
UltiSnips requires py >= 2.7 or py3
Press ENTER or type command to continue
Run Code Online (Sandbox Code Playgroud)

所以问题是neovim无法正确找到python,我很困惑为什么virtualenv会影响neovim

python vim virtualenv conda neovim

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

python写unicode容易文件?

我想确保我的代码中的所有字符串都是unicode,所以我使用unicode_literals,然后我需要将字符串写入文件:

from __future__ import unicode_literals
with open('/tmp/test', 'wb') as f:
    f.write("??") # UnicodeEncodeError
Run Code Online (Sandbox Code Playgroud)

所以我需要这样做:

from __future__ import unicode_literals
with open('/tmp/test', 'wb') as f:
    f.write("??".encode("utf-8"))
    f.write("??".encode("utf-8"))
    f.write("??".encode("utf-8"))
    f.write("??".encode("utf-8"))
Run Code Online (Sandbox Code Playgroud)

但每次我需要在代码中编码时,我都很懒,所以我改为编解码器:

from __future__ import unicode_literals
from codecs import open
import locale, codecs
lang, encoding = locale.getdefaultlocale()

with open('/tmp/test', 'wb', encoding) as f:
    f.write("??")
Run Code Online (Sandbox Code Playgroud)

如果我只想写文件,任何更简单的方法,我还是认为这太过分了?

python unicode file

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

如何通过位操作获得最后 n 位?

我想获得最后 n 位数字,例如:

num = 0b111111111
# if I want to get last 8 bits, it will be 0b11111111
# if I want to get last 2 bits, it will be 0b11
Run Code Online (Sandbox Code Playgroud)

我认为这可以:

bits = 1 << n
little = num & (~bits)
Run Code Online (Sandbox Code Playgroud)

但这是错误的,如果 n = 8,它会得到 0b110111111

python bit bitwise-operators

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

更容易在React中禁用链接的方法?

我想Link在某些条件下禁用:

render() {
    return (<li>{this.props.canClick ? 
        <Link to="/">Test</Link> : 
        <a>Test</a>}
    </li>)  
}
Run Code Online (Sandbox Code Playgroud)

<Link>必须指定to,所以我不能禁用<Link>,我必须使用<a>

javascript href reactjs react-router

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

ThumbnailUtils.createVideoThumbnail为mp4文件返回null位图

当我获得mp4文件的位图时:ThumbnailUtils.createVideoThumbnail(mediaFile.getAbsolutePath(), MediaStore.Video.Thumbnails.MINI_KIND);返回null

video android bitmap

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

如何在golang中将数组编组为二进制并将二进制解组为数组?

我想使用gobtoencodedecodeobject,我这样做:

type transProp struct {
    a []int
    b []float64
}

func (p transProp) MarshalBinary() ([]byte, error) {
    // A simple encoding: plain text.
    var b bytes.Buffer
    fmt.Fprintln(&b, p.a, p.b)
    return b.Bytes(), nil
}

// UnmarshalBinary modifies the receiver so it must take a pointer receiver.
func (p *transProp) UnmarshalBinary(data []byte) error {
    // A simple encoding: plain text.
    b := bytes.NewBuffer(data)
    _, err := fmt.Fscanln(b, &p.a, &p.b)
    return err
}

func TestGobEncode(t *testing.T) { …
Run Code Online (Sandbox Code Playgroud)

encoder decoder go gob

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

如何通过管道 tail -f 到 iconv 命令?

我有一个使用 gbk 编码的日志文件,我必须像这样读取数据:

tail -n 2000 nohup.out | iconv -f gbk -t utf-8
Run Code Online (Sandbox Code Playgroud)

但是当我使用tail -f它时不会打印任何内容:

tail -f nohup.out | iconv -f gbk -t utf-8
Run Code Online (Sandbox Code Playgroud)

encoding pipe tail iconv

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

由于标量@list,Perl BEGIN编译失败

我是Perl的新手.我发现以下代码无法运行:

#! perl -T

use strict;
use warnings;

BEGIN {
    my @classes = qw(Animal Cow Sheep Horse Mouse);
    use Test::More tests => scalar @classes;
}
Run Code Online (Sandbox Code Playgroud)

如果我换scalar @classes5,那没关系.如果我换use Test::More tests => scalar @classes;print scalar @classes;,那没关系.但是当他们在一起时,他们错了.为什么?

perl

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