也许我开始对我的问题做一个小介绍.我正在写一个python程序,它将用于不同物理模拟的后处理.每次模拟都可以创建高达100 GB的输出.我处理不同时间步骤的不同信息(如位置,字段和密度......).我希望能够同时访问所有这些数据,这是不可能的,因为我的系统上没有足够的内存.通常我使用读取文件,然后执行一些操作并清除内存.然后我读取其他数据并执行一些操作并清除内存.
现在我的问题.如果我这样做,那么我花了很多时间不止一次读取数据.这需要花费很多时间.我想只读一次并存储它以方便访问.您是否知道存储大量数据的方法,这些数据非常快或者不需要大量空间.
我刚刚创建了一个比普通open-read快十倍的方法.但我使用cat(linux命令).这是一个非常脏的方法,我想把它从我的脚本中删除.
是否可以使用数据库来存储此数据并使数据比正常读取更快?(抱歉这个问题,但我不是计算机科学家,我在数据库背后没有很多知识).
编辑:
我的cat-code看起来像这样 - 只是一个例子:
out = string.split(os.popen("cat "+base+"phs/phs01_00023_"+time).read())
# and if I want to have this data as arrays then I normally use and reshape (if I
# need it)
out = array(out)
out = reshape(out)
Run Code Online (Sandbox Code Playgroud)
通常我会使用一个numpy方法numpy.loadtxt,需要像正常读数一样的时间:
f = open('filename')
f.read()
...
Run Code Online (Sandbox Code Playgroud)
我认为loadtxt只需使用常规方法和一些额外的代码行.
我知道有一些更好的方法可以读出数据.但我发现的一切都很慢.我现在尝试mmap,希望我会有更好的表现.
我是编程和Ruby on Rails的新手.设置我的开发环境一直很糟糕.我目前的问题是安装Sqlite 3.
当我做
$ bundle install
Run Code Online (Sandbox Code Playgroud)
我明白了
Fetching source index for http://rubygems.org/
Using rake (0.8.7)
Using abstract (1.0.0)
Using activesupport (3.0.1)
Using builder (2.1.2)
Using i18n (0.4.2)
Using activemodel (3.0.1)
Using erubis (2.6.6)
Using rack (1.2.1)
Using rack-mount (0.6.13)
Using rack-test (0.5.7)
Using tzinfo (0.3.24)
Using actionpack (3.0.1)
Using mime-types (1.16)
Using polyglot (0.3.1)
Using treetop (1.4.9)
Using mail (2.2.15)
Using actionmailer (3.0.1)
Using arel (1.0.1)
Using activerecord (3.0.1)
Using activeresource (3.0.1)
Using bundler (1.0.10)
Using thor (0.14.6) …Run Code Online (Sandbox Code Playgroud) ruby rake文件中<echo> ant任务的等效性是什么?
在我的backbone.js应用程序中,有一个Trips collection持有Trip models,正在使用LocalStorage.我可以打电话Trips.create(form_attributes)来创建和保存旅行Todos store.
当我第一次加载我的应用程序,我打电话Trips.fetch({ success: trips_fetch_success })和trips_fetch_success接收,显示的响应Trip models的Trips collection成立.
我试图绑定refresh和change事件Trips collection,但这些事件没有被捕获,让我相信我对哪些事件Trips.fetch触发了错误的想法.
我的问题:应该Trips.fetch触发哪些事件?是在集合上还是在每个人身上触发事件Trip models?
我正在尝试使用mingw和msys在Windows上为Y86代码(http://csapp.cs.cmu.edu/public/sim.tar)编译模拟器,模拟器使用Tcl和Tk作为它具有的GUI,所以我第一次尝试下载所需的包括和Tcl和Tk库建立与,没有工作,所以我下载的源和内置它们MSYS(http://wiki.tcl.tk/14828).
我遇到的问题是我在运行make文件时遇到同样的错误,
chrismeyer @ MEYER-C/src/sim
$ make
(cd misc; make all)make [1]:输入目录/src/sim/misc' make[1]: Nothing to be done forall'.make [1]:离开目录/src/sim/misc' (cd pipe; make all GUIMODE=-DHAS_GUI TKLIBS="-l /opt/tcl/lib" TKINC="-I /opt/tcl/include") make[1]: Entering directory/ src/sim/pipe'构建PIPE的pipe-std.hcl版本../misc/hcl2c -n pipe-std.hcl <pipe-std.hcl> pipe-std.c gcc -Wall -O2 -I/opt/tcl/include -I ../ misc -DHAS_GUI -o psim psim.c pipe-std.c\../misc/isa.c -l/opt/tcl/lib -lm c:\ minGW\bin ..\lib\gcc\mingw32\3.4.5 ........\mingw32\bin\ld.exe:找不到-lC:/msys/1.0/opt/tcl/lib collect2:ld返回1退出状态make [1]:* [psim]错误1 make [1]:离开目录`/ src/sim/pipe'
抱歉错误的格式化,它搞砸了一点.主要问题是这一行
C:\minGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: cannot find -lC:/msys/1.0/opt/tcl/lib
Run Code Online (Sandbox Code Playgroud)
我不确定为什么gcc找不到lib目录,它存在,我已经检查了很多次.
任何洞察这个问题都会非常有帮助!
谢谢!
我现在做一个简单的事情,我会从一个CSV文件中读取,即A列中包含的代码,如"EN",B列中包含特定名称"英" ..等等,我想将它们读入关联数组.
我目前的做法是这样的:
$handle = fopen("Languages.csv","r") or die("EPIC FAIL!");
$languageArray = array(
while (($row = fgetcsv($handle, 1000, ",")) !== FALSE)
{
$row[0] => $row[1],
}
)
Run Code Online (Sandbox Code Playgroud)
但它实际上抱怨我的语法,所以我只是想知道是否有办法通过获取我的csv文件的所有行来初始化我的关联数组,并将第一个字符串(从列A)作为键,第二个字符串(来自B列)作为值?
谢谢.
这就是我迄今为止所拥有的
declare @Today smalldatetime
Set @Today = GETDATE()
select @Today
Run Code Online (Sandbox Code Playgroud)
产额
2011-03-10 13:46:00
Run Code Online (Sandbox Code Playgroud)
我需要的是:
2011-03-09
Run Code Online (Sandbox Code Playgroud) 我正在使用Android的ormlite,我正在尝试获得多列唯一约束.到目前为止,我只能对这样的个别列进行独特约束:
CREATE TABLE `store_group_item` (`store_group_id` INTEGER NOT NULL UNIQUE ,
`store_item_id` INTEGER NOT NULL UNIQUE ,
`_id` INTEGER PRIMARY KEY AUTOINCREMENT );
Run Code Online (Sandbox Code Playgroud)
而我想要的是
CREATE TABLE `store_group_item` (`store_group_id` INTEGER NOT NULL ,
`store_item_id` INTEGER NOT NULL ,
`_id` INTEGER PRIMARY KEY AUTOINCREMENT,
UNIQUE( `store_group_id`, `store_item_id` );
Run Code Online (Sandbox Code Playgroud)
在我的模型中,我一直在使用以下注释用于唯一列:
@DatabaseField( unique = true )
Run Code Online (Sandbox Code Playgroud)
有没有办法让这个工作?
就是这样:
$arr_val = array(0,1,'0','1');
foreach ($arr_val as $key){
echo ($key == "TEST")?"EQUALLED":"NOT EQUALLED"."<br>";
}
Run Code Online (Sandbox Code Playgroud)
0 == "TEST" 打印"EQUALED"1 == "TEST" 打印"不等于"'0' =="TEST" 打印"不等于"'1' =="TEST" 打印"不等于"当我说它打印值"SELECTED".但为什么上面的第一个案例打印等于.对此有什么想法吗?这将如何等于.我们知道要做的比较修复
(===) operator.但我想知道原因(0=="TEST")是真的.
尝试使用名为get_transient的wordpress函数构建来缓存xml文件,但是我收到了一个php错误:
unserialize()[function.unserialize]:节点不再存在
//check the db to see if it exists ( get_transient is a WordPress function)
if (false === ($response_xml = get_transient('stats_from_xml_feed'))){
$request_url = "http://example.com/feed.xml";
$request_url = urlencode($request_url);
$response_xml = @simplexml_load_file($request_url);
//kill request if connection problem
if ($response_xml === FALSE){
exit ('could not connect');
} else {
// here we throw it into the WordPress temp DB using set_transient for 12 hours
set_transient('stats_from_xml_feed', $response_xml, 60*60*12);
//some output
$res = $response_xml;
$name = $res->name;
echo $name;
}
Run Code Online (Sandbox Code Playgroud)