小编use*_*434的帖子

编程错误:不能使用8位字节串

我试图在python 2.7(Windows)中运行以下内容,它给了我一个错误:

ProgrammingError:除非使用可解释8位字节字符串的text_factory(如text_factory = str),否则不得使用8位字节串.强烈建议您只需将应用程序切换为Unicode字符串.

#!/usr/bin/python
# -*- encoding: utf-8-*-

import sqlite3;
db = sqlite3.connect('db.sqlite3')
cursor = db.cursor()
cursor.execute('INSERT INTO X(id,a,b) VALUES(?,?,?)', (999998,"?---?---?---ó---??","ssf"))
cursor.execute('SELECT * FROM X where id = 999998')
for row in cursor:
    print row

db.commit()
db.close()
Run Code Online (Sandbox Code Playgroud)

如何将这些字符串("ąźć"=波兰标志)插入我的sqlite数据库?

python sqlite python-2.7

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

round函数返回错误的双估计

我试图将双倍加倍到3小数点,但......

double round_double(double d){
    return round(d * 1000) / 1000;
}

int main() {
    double r = round_double(1.5 * 1.001);
    cout << r << endl;
    return 0; }
Run Code Online (Sandbox Code Playgroud)

当我运行它时结果是1.501 ...为什么不返回1.502?当我将round_double函数更改为如下所示时:

return floor(d * 1000 + 0.5) / 1000;
Run Code Online (Sandbox Code Playgroud)

它仍然产生1.501 ...任何想法为什么?

c++ precision double

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

绘制由 3D numpy 数组表示的 3d 体积数据

我已经看到 vtkplotter 支持范围广泛的体积图像格式,但它是否支持绘制 numpy 数组?我有一个 .mhd 格式的图像,我将其转换为 .npz 文件,并想使用提到的库绘制它。有没有办法这样做?

import numpy as np
data = np.zeros((3,3,3))
# how to plot this?
Run Code Online (Sandbox Code Playgroud)

如果您知道任何其他适用于医学分析的可视化体积数据的工具,请告诉。我试过 mayavi,但它消耗了太多内存,以至于我的电脑崩溃了。

python vtk mayavi

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

在模板 django 中呈现外键 __str__ 方法

class A(models.Model):
   field1 = models.CharField(max_length=10)   
   field2 = models.IntegerField(default=0)

  def __str__(self):
    return self.field1 + str(self.field2)

class B(models.Model):
  a = models.ForeignKey(A)
  ...
Run Code Online (Sandbox Code Playgroud)

现在在模板中,我想通过 using:{{ binstance.a }}呈现模型 B 实例的“a”属性: 但这似乎要么呈现空字符串,要么根本不呈现。

如何在模板中呈现外键的str方法?

django django-templates django-models

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

返回const int&的类型

const int z1 = 5;
const int & giveMeNumber1(){
    return z1;
}

int z2 = 6;
const int & giveMeNumber2(){
    return z2;
}

int main(){
    int y = giveMeNumber1();
}
Run Code Online (Sandbox Code Playgroud)
  1. 两种函数的返回类型似乎都是const int.我对么?如果是这样,为什么我能分配int y = giveMeNumber1();

  2. 为什么这些函数不返回的实际地址z1z2分别.我写的时候:

    int x = 3; cout << &x << endl;
    
    Run Code Online (Sandbox Code Playgroud)

    x打印变量的地址,因此:

    cout << giveMeNumber1() << endl;
    
    Run Code Online (Sandbox Code Playgroud)

    应该打印地址(const int & return type),但它打印5.

c++

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