小编Pet*_*one的帖子

保存对象(数据持久性)

我创建了一个像这样的对象:

company1.name = 'banana' 
company1.value = 40
Run Code Online (Sandbox Code Playgroud)

我想保存这个对象.我怎样才能做到这一点?

python serialization object save pickle

206
推荐指数
4
解决办法
21万
查看次数

保存和加载对象并使用pickle

我正在尝试使用pickle模块保存和加载对象.
首先,我声明我的对象:

>>> class Fruits:pass
...
>>> banana = Fruits()

>>> banana.color = 'yellow'
>>> banana.value = 30
Run Code Online (Sandbox Code Playgroud)

之后我打开一个名为'Fruits.obj'的文件(之前我创建了一个新的.txt文件,我重命名为'Fruits.obj'):

>>> import pickle
>>> filehandler = open(b"Fruits.obj","wb")
>>> pickle.dump(banana,filehandler)
Run Code Online (Sandbox Code Playgroud)

执行此操作后,我关闭了会话,然后我开始了一个新的会话,然后我将下一个(尝试访问它应该保存的对象):

file = open("Fruits.obj",'r')
object_file = pickle.load(file)
Run Code Online (Sandbox Code Playgroud)

但我有这样的信息:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python31\lib\pickle.py", line 1365, in load
encoding=encoding, errors=errors).load()
ValueError: read() from the underlying stream did notreturn bytes
Run Code Online (Sandbox Code Playgroud)

我不知道该怎么办,因为我不明白这个消息.有谁知道如何加载我的对象'香蕉'?谢谢!

编辑: 因为你们有些人已经吮吸我放:

>>> import pickle
>>> file = open("Fruits.obj",'rb')
Run Code Online (Sandbox Code Playgroud)

没有问题,但我接下来的是:

>>> object_file = …
Run Code Online (Sandbox Code Playgroud)

python object pickle

91
推荐指数
5
解决办法
25万
查看次数

Python:保存对象并使用pickle.文件名的扩展名

您好我正在尝试使用下一段代码:

import pickle 
object = Object() 
filehandler = open(filename, 'w') 
pickle.dump(object, filehandler) 
Run Code Online (Sandbox Code Playgroud)

我想知道文件'filename'的扩展名是什么.谢谢!

python file-extension object save pickle

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

什么是NaNi,它与NaN有什么不同?

我在Matlab中编写一个函数.应该有些不对劲.我的函数的输出是一个向量.当我看到我的矢量的每个元素时,我看到NaN(不是数字)而且NaNi,我真的不知道?

有谁知道是什么 NaNi?

matlab

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

为什么Perl说全局符号"SYMBOL"需要在PROGRAM.pl第X行显式包名?

我正在用Perl编写我的第一个程序,并写道:

use strict;
use warnings;
$animal = "camel";
print($animal);
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我从Windows命令行获取这些消息:

Global symbol "animal" requires explicit package name at stringanimal.pl line 3
Global symbol "animal" requires explicit package name at stringanimal.pl line 4
Run Code Online (Sandbox Code Playgroud)

请问,这些消息是什么意思?

perl

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

MATLAB:有关错误消息的参考

有没有人知道MATLAB中有关错误消息的任何参考?MATLAB中的错误消息通常很短,偶尔我不是他们的意思.

matlab

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

Python:如何保存二叉树?

我想知道如何保存我之前创建的二叉树.有谁知道怎么做?非常感谢.

PD:这里有一个关于如何实现二叉树的链接,我正在使用这个pice od代码:http: //code.activestate.com/recipes/286239-binary-ordered-tree/

python persistence binary-tree

7
推荐指数
2
解决办法
2769
查看次数

在MATLAB中使用sprintf显示变量的小数

我不明白使用sprintf命令发生的下一件事.

>> vpa(exp(1),53)

ans =

2.7182818284590455348848081484902650117874145507812500


>> e = 2.7182818284590455348848081484902650117874145507812500

e =

2.7183

>> sprintf('%0.53f', e)

ans =

2.71828182845904550000000000000000000000000000000000000
Run Code Online (Sandbox Code Playgroud)

为什么sprintf要向我显示数字e而不是数字,我保留在第一位?

variables matlab printf decimal

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

Python:VHDL代码生成器的代码

我正在尝试使用VHDL语言制作ROM,我使用的是我在http://www.edaboard.com/thread38052.html上找到的模板:

library ieee;
use ieee.std_logic_1164.all;

entity ROM is
port ( address : in std_logic_vector(3 downto 0);
     data : out std_logic_vector(7 downto 0) );
end entity ROM;

architecture behavioral of ROM is
type mem is array ( 0 to 2**4 - 1) of std_logic_vector(7 downto 0);
constant my_Rom : mem := (
0  => "00000000",
1  => "00000001",
2  => "00000010",
3  => "00000011",
4  => "00000100",
5  => "11110000",
6  => "11110000",
7  => "11110000",
8  => "11110000", …
Run Code Online (Sandbox Code Playgroud)

python code-generation vhdl rom

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

VHDL:将数值放入STD_LOGIC_VECTOR变量的代码

我想在STD_LOGIC_VECTOR类型的变量中输入一个数字,但我的编译器有问题.

signal cl_output_ChA :   STD_LOGIC_VECTOR (16-1 downto 0);

cl_ouput_ChA <= 111111111111111;
Run Code Online (Sandbox Code Playgroud)

编译器给我这两条消息:

  • 整数值111111111111111大于整数'高.
  • cl_output_ChA的类型与类型111111111111111不兼容.

谁能给我一个合适的代码行来把这个变量放入一个特定的数值?非常感谢.

numeric vhdl

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