小编Bar*_*rkz的帖子

Python 和 DynamoDB 十进制。不精确

我试图从我的 dynamodb 表中删除一个项目,但是我收到了这个异常:

decimal.Inexact: [<class 'decimal.Inexact'>, <class 'decimal.Rounded'>]
Run Code Online (Sandbox Code Playgroud)

我不知道如何解决它,有什么帮助吗?这是代码:

dynamodb = boto3.resource('dynamodb', region_name='***')

table = dynamodb.Table('***')

propid = 1234
column_set = Decimal(44.30912302164986)

print("Attempting a conditional delete...")

try:
    response = table.delete_item(
        Key={
            'hashkey': propid,
            'rangekey': column_set
        },
    )
except ClientError as e:
    if e.response['Error']['Code'] == "ConditionalCheckFailedException":
        print(e.response['Error']['Message'])
    else:
        raise
else:
    print("DeleteItem succeeded:")
Run Code Online (Sandbox Code Playgroud)

后期编辑:

当我这样做时,它似乎没有正确存储:

year = decimal.Decimal(44.309123021649860)
Run Code Online (Sandbox Code Playgroud)

它打印:

44.30912302164986016350667341612279415130615234375
Run Code Online (Sandbox Code Playgroud)

python decimal amazon-dynamodb

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

当我迭代它们时,为什么 Rust 中的迭代器看起来很慢?

我有一个大文件,我正在使用 mmap 读取它。我想在每一行上做一些操作,所以我在它上面调用了 split() ,它为每一行提供了一个迭代器:

let file = File::open("myfile").unwrap();
let mmap = unsafe { MmapOptions::new().map(&file).unwrap() };
//splitting by newline
let iter = mmap.split(|elem| elem == &b'\n');
Run Code Online (Sandbox Code Playgroud)

这工作正常并且没有给我任何问题 - 运行速度非常快。

但是,当我通过迭代器时,它会跳转,并且通过 for 循环所需的时间大约是读取和拆分时间的 4 倍。

此外,这不处理该行或在 for 循环内执行任何操作:

for elem in iter {
  //process the line
}
Run Code Online (Sandbox Code Playgroud)

由于性能是一个问题 - 我发现它设法非常快速地读取和拆分文件很奇怪,但是,当我通过迭代器时它变得非常慢。我错过了什么吗?我对 Rust 的了解也很有限,所以不确定我是否在做坏事。有什么东西可以帮助我优化它并加快访问速度?

此外,并行迭代器在我的情况下没有那么有用 - 它们添加的开销不值得。

整个文件:

use memmap::MmapOptions;
use std::fs::File;
use std::time::{Duration, Instant};

fn main() {

    let now = Instant::now();
    let file = File::open("myfile").unwrap();
    let mmap = unsafe { MmapOptions::new().map(&file).unwrap() }; …
Run Code Online (Sandbox Code Playgroud)

iterator mmap rust

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

标签 统计

amazon-dynamodb ×1

decimal ×1

iterator ×1

mmap ×1

python ×1

rust ×1