小编cmh*_*cmh的帖子

使用CMake链接Boost库的静态版本

我在/ usr/lib中同时拥有了boost库的静态和动态版本.现在我希望CMake在链接我的可执行文件时更喜欢静态版本.我能做什么?

c++ boost cmake

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

为什么将HashSet <>(0)初始化为零?

我喜欢HashSet <>()并在使用默认构造函数初始化时急切地使用它:

Set<Users> users = new HashSet<>();
Run Code Online (Sandbox Code Playgroud)

现在,我的自动bean创建器(JBoss工具)将其初始化为:

Set<Users> users = new HashSet<>(0);
Run Code Online (Sandbox Code Playgroud)

为什么?API告诉我这是初始容量,但将其置于零的优势是什么?这是建议吗?

java constructor initialization hashset zero

20
推荐指数
3
解决办法
7627
查看次数

在ipython中保存函数定义

使用ipython时,我经常想保存我在会话期间定义的特定功能,例如:

In [1]: def func1():
...:        pass
...: 

In [2]: %save func1.py func1
func1 is neither a string nor a macro.
Run Code Online (Sandbox Code Playgroud)

相反,我必须从中选择函数定义行号enumerate(_ih),或者如果我有%edit函数则从vim手动复制和粘贴.

有办法实现%save func1.py func1吗?我觉得应该可以,因为ipython在使用%edit时可以访问该定义.

编辑

如果我在某些时候编辑了函数,基于行的保存不起作用%ed.我正在寻找一种在这种情况下保存函数定义的方法.

python macros ipython

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

在变量中存储bash字符串比较

我想在变量中存储bash字符串比较的结果,效果等同于:

if [[ $a == $b ]]; then
    res=1
else
    res=0
fi
Run Code Online (Sandbox Code Playgroud)

我希望能够写出一些更简洁的东西,比如:

res2=$('$a'=='$b') #Not valid bash
Run Code Online (Sandbox Code Playgroud)

有没有办法实现我想要的,而不是推迟if构造?

bash

12
推荐指数
2
解决办法
3230
查看次数

Gradle任务将hg修订版写入文件

是否有一种简单的方法可以在gradle任务中写入mercurial版本(或类似的外部命令):

我还不熟悉/熟悉,但我目前的努力看起来像这样:

task versionInfo(type:Exec){
    commandLine 'hg id -i -b -t'
    ext.versionfile = new File('bin/$baseName-buildinfo.properties')

    doLast {
        versionfile.text = 'build.revision=' + standardOutput.toString()
    }
}
Run Code Online (Sandbox Code Playgroud)

version-control mercurial groovy gradle

11
推荐指数
1
解决办法
9719
查看次数

更快的grep函数适用于大(27GB)文件

我必须从包含特定字符串的文件(5MB)中获取大文件(27GB)中相同的字符串(和其他信息).为了加快分析速度,我将27GB文件拆分为1GB文件,然后应用以下脚本(在这里有些人的帮助下).但是效率不高(生成180KB文件需要30个小时!).

这是脚本.有比grep更合适的工具吗?或者更有效的方式使用grep?

#!/bin/bash

NR_CPUS=4
count=0


for z in `echo {a..z}` ;
do
 for x in `echo {a..z}` ;
 do
  for y in `echo {a..z}` ;
  do
   for ids in $(cat input.sam|awk '{print $1}');  
   do 
    grep $ids sample_"$z""$x""$y"|awk '{print $1" "$10" "$11}' >> output.txt &
    let count+=1
                                [[ $((count%NR_CPUS)) -eq 0 ]] && wait
   done
  done #&
Run Code Online (Sandbox Code Playgroud)

bash awk grep file

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

在D中选择枚举的随机元素

我已经从枚举中选择随机值,如下所示:

import std.random : uniform;
import std.stdio : writefln;
import std.conv;

enum E {A, B, C}

int main(){
    auto select = cast(E)uniform(to!int(E.min), to!int(E.max));
    writefln("select %s", select);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是令人惊讶的冗长,如果任何枚举成员获取超出默认值(或大于int)的值,则容易出现问题.

理想情况下,我会采用一个代表枚举元素的范围,并将其提供给randomSample.但是,这似乎不可能.

是否有更惯用的方法从D中的枚举中选择随机值?

编辑:

使用fwend提供的答案,这是一个实现我想要的模板功能:

T RandomEnumElement(T)() if (is(T == enum)){
    auto members = [EnumMembers!T];
    return members[(uniform(0, members.length))];
}
Run Code Online (Sandbox Code Playgroud)

d

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

使用awk进行无需替换的采样

我有很多看起来像这样的文本文件:

>ALGKAHOLAGGATACCATAGATGGCACGCCCT
>BLGKAHOLAGGATACCATAGATGGCACGCCCT
>HLGKAHOLAGGATACCATAGATGGCACGCCCT
>DLGKAHOLAGGATACCATAGATGGCACGCCCT
>ELGKAHOLAGGATACCATAGATGGCACGCCCT
>FLGKAHOLAGGATACCATAGATGGCACGCCCT
>JGGKAHOLAGGATACCATAGATGGCACGCCCT
>POGKAHOLAGGATACCATAGATGGCACGCCCT
Run Code Online (Sandbox Code Playgroud)

有没有办法在不使用awk替换的情况下进行采样?

例如,我有这8行,我只想在一个新文件中随机抽样4个,无需替换.输出应该如下所示:

>FLGKAHOLAGGATACCATAGATGGCACGCCCT
>POGKAHOLAGGATACCATAGATGGCACGCCCT    
>ALGKAHOLAGGATACCATAGATGGCACGCCCT
>BLGKAHOLAGGATACCATAGATGGCACGCCCT
Run Code Online (Sandbox Code Playgroud)

提前致谢

bash shell awk

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

将shell命令的输出直接插入到tmux窗格中

我的目标是在linux中复制中鼠标复制粘贴功能.

我可以通过以下方式在窗格中显示此剪贴板的输出:

bind-key -T root MouseDown2Pane run-shell "xclip -selection primary -o"
Run Code Online (Sandbox Code Playgroud)

我想直接将此输出插入窗格(即类似send-keys),但我没有看到将2个命令链接在一起的方法.

我正在运行tmux 2.1版.

shell copy-paste tmux

6
推荐指数
2
解决办法
1078
查看次数

cxfreeze virtualenv内部缺少distutils模块

当从python3.2项目运行cxfreeze二进制文件时,出现以下运行时错误:

/project/dist/project/distutils/__init__.py:13: UserWarning: The virtualenv distutils package at %s appears to be in the same location as the system distutils?
Traceback (most recent call last):
  File "/home/chrish/.virtualenvs/project/lib/python3.2/distutils/__init__.py", line 19, in <module>
    import dist
ImportError: No module named dist
Run Code Online (Sandbox Code Playgroud)

相应地distutils,在cxfreeze输出的缺少模块部分中,有几个条目:

? dist imported from distutils
? distutils.ccompiler imported from numpy.distutils.ccompiler
? distutils.cmd imported from setuptools.dist
? distutils.command.build_ext imported from distutils
? distutils.core imported from numpy.distutils.core
...
Run Code Online (Sandbox Code Playgroud)

我尝试通过将distutils导入到我的主python文件中并将其添加到cxfreeze中,将distutils作为模块包括在内setup.py

options = {"build_exe": {"packages" : ["distutils"]} },
Run Code Online (Sandbox Code Playgroud)

两种方法均无效。好像我已经以某种方式破坏了virtualenv [因为distutils看起来很基本,并且关于distutils的位置的警告],重复使用干净的virtualenv可以重复此问题。

可能值得注意的是,我通过运行安装了cx-freeze, …

python distutils virtualenv cx-freeze

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

Boost.Python是否需要为其他boost库绑定代码?

我有一个继承自boost :: statechart库的类.我需要在Python脚本中使用这个类,我想知道我是否需要为所有boost :: statechart库编写包装代码(.def s),因为我的类继承了它?或者boost.python不需要任何包装代码来查看定义(它自动处理其他boost库以在python中调用)?

c++ boost boost-statechart boost-python python-bindings

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

在C++中合并排序实现

我正在学习如何在c ++中实现mergesort并遇到以下问题.

这是我的合并函数,它将两个已排序的数组合并为一个已排序的数组.

void merge(int *list, int *final, int start, int mid, int stop) {
    int h = start;
    int i = start;
    int j = mid + 1;

    while ((h <= mid) && (j <= stop)) {
        if (list[h] <= list[j]) {
            final[i] = list[h];
            h++;
        } else {
            final[i] = list[j];
            j++;
        }
        i++;
    }

    /* CODE A */
    if (h > mid) {
        for (int k = j; k <= stop; k++) {
            final[i] = list[k];
            i++; …
Run Code Online (Sandbox Code Playgroud)

c++ sorting algorithm mergesort

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

如何使用 pyscopg2 以编程方式获取表结构

当我执行程序application.py 时,出现此错误:

psycopg2.ProgrammingError
ProgrammingError: ERREUR:  erreur de syntaxe sur ou près de « "/d" »
LINE 1: "/d" carto."BADGES_SFR"
Run Code Online (Sandbox Code Playgroud)

(英文“ ProgrammingError: ERREUR: syntax error at or near « "/d" » ")我对这个程序的目标是获得表结构

这是以下代码application.py

#!/usr/bin/python 2.7.6
# -*- coding:utf-8 -*-
import os
import sys
from flask import Flask,render_template
import psycopg2
reload(sys)  
sys.setdefaultencoding('utf8')
app = Flask(__name__)

@app.route('/')
def fihoum():
    conn = psycopg2.connect(database="carto", user="postgres", password="daed5Aemo", host="192.168.12.54")
    cur = conn.cursor()
    #cur.execute("SELECT * FROM carto.\"BADGES_SFR\"")
    cur.execute("/d carto.\"BADGES_SFR\"")
    rows = cur.fetchall()
    return …
Run Code Online (Sandbox Code Playgroud)

python postgresql psycopg2 flask

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