小编Ami*_*mir的帖子

Python在并行进程之间共享字典

我想在我的进程之间共享一个字典,如下所示:

def f(y,x):
    y[x]=[x*x]                                                          

if __name__ == '__main__':
    pool = Pool(processes=4)
    inputs = range(10)
    y={}                             
    result = pool.map(f,y,inputs)
Run Code Online (Sandbox Code Playgroud)

y返回{}.我怎样才能使它工作?

谢谢,

python multiprocessing

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

bash使用空替换连接多个文件(-e选项)

我有以下代码将多个文件连接在一起.它工作正常,但我想将空值替换为0,所以我使用-e"0".但它不起作用.有任何想法吗?

for k in `ls file?`
do
    if [ -a final.results ]
    then
            join -a1 -a2 -e "0" final.results $k  > tmp.res
            mv tmp.res final.results
    else
            cp $k final.results
    fi

done
Run Code Online (Sandbox Code Playgroud)

例:

file1: 
a 1 
b 2
file2:
a 1 
c 2
file3:
b 1 
d 2

Results:
a 1 0 1 0
b 2 1 0
c 2
d 2

expected:
a 1 1 0
b 2 0 1
c 0 2 0
d 0 0 2
Run Code Online (Sandbox Code Playgroud)

linux bash join

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

磁盘故障检测perl脚本

我需要编写一个脚本来每分钟检查磁盘并报告它是否因任何原因而失败.错误可能是绝对磁盘故障和坏扇区等.

首先,我想知道是否有任何脚本与它应该是标准程序相同(因为我真的不想重新发明轮子).

其次,我想知道是否要在/ var/log/messages中查找错误,是否有可以使用的磁盘标准错误字符串列表?

我在网上寻找的东西很多,有很多信息,同时没有相关的信息.

任何帮助都感激不尽.

谢谢,

linux perl syslog

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

如何从文件中读取前n行和后n行?

我想知道如何读取文件的前n行和最后n行?因为n=2,我在网上看到它(head -n2 && tail -n2)会起作用,但事实并非如此.

$ cat x
1
2
3
4
5
$ cat x | (head -n2 && tail -n2)
1
2
Run Code Online (Sandbox Code Playgroud)

预期的产出n=2将是:

1
2
4
5
Run Code Online (Sandbox Code Playgroud)

bash awk sed tail head

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

python查询基于值的字典中的键

让我们有一个以下的词:

 table = {x1: {y1: 1, y2:2},
         x2: {y1: 3, y2:4},
         x3: {y3: 5, y2:6}
         } 
Run Code Online (Sandbox Code Playgroud)

考虑到值是唯一的,有没有办法根据值有效地查询关键路径,或者最好使用值作为关键字来重建字典?

例:

   result = magic_function(table, 3)
   result --> [x2, y1]
Run Code Online (Sandbox Code Playgroud)

谢谢,

python dictionary

3
推荐指数
1
解决办法
3578
查看次数

Python使用if语句对字典列表进行排序

给出这样的字典列表:

x = [
        {'name':'a', 'student': 1 , 'age':19}, 
        {'name':'b', 'student': 0 , 'age':10}
    ]
Run Code Online (Sandbox Code Playgroud)

如果学生等于1,我想按年龄对其进行排序.如果在下面的陈述中,我能以某种方式表达吗?

sortedlist = sorted(x, key=lambda k: k['age'])
Run Code Online (Sandbox Code Playgroud)

谢谢,

python list sorted

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

在setTimeout中调用document.write后"函数未定义"?

这是代码:

function getTime(j){
  var stopClock= new Date();
  delta[parseInt(j)]=stopClock.getMilliseconds()-start.getMilliseconds();
 }

 //REST OF THE CODE!!
function func(){
{
   for (var i = 0; i < 6; i++){
     start = new Date();
     document.write('<img src="'+URL[i]+'" width="1" height="1" alt="" onload="getTime('+i+');"/>');
    }
 }

 //SOME CODE

setTimeout(function() {
   func();
},100);
Run Code Online (Sandbox Code Playgroud)

但是我收到了这个错误:没有定义getTime

如果我像这样声明getTime:

 document.getTime= function (j)
Run Code Online (Sandbox Code Playgroud)

没有错误,但它永远不会执行该功能.

如果我卸载setTimeout,它将没有问题.

有什么想法吗?

谢谢,

javascript settimeout

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

awk 桶中的直方图

考虑我有以下文件..

1 a
1 b
1 a
1 c
1 a
2 a
2 d
2 a
2 d
Run Code Online (Sandbox Code Playgroud)

我想在桶内有一个直方图...例如,如果桶是 1 那么输出将是

a 3
b 1
c 1
a 2
d 2
Run Code Online (Sandbox Code Playgroud)

对于桶 2...我们有

a 5
b 1
c 1
d 2
Run Code Online (Sandbox Code Playgroud)

我想用 awk 来做,但我真的卡住了......这是我的代码:

awk '
    {A[$1]} count [$2]++ 
    {for(i in A) {print i,A[i]}
    }' test
Run Code Online (Sandbox Code Playgroud)

有什么帮助吗?

谢谢,

阿米尔。

awk grouping

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

C/C++中大文件二进制数据的逻辑运算

我有两个二进制文件(数十MB的顺序),我想要或这些文件的每一点.当然,我希望它尽可能高效.

所以我有两种方法可以做到这一点,但我仍然认为(我有点觉得)这应该是一种我不知道的更有效的方式.

给定文件a和b ..我想要做的是a = a | b

  1. 加载两个文件,将它们解析为两个巨大的std :: bitsets和/或它们
  2. 逐个加载两个文件和/或如果一个巨大的for循环它们...

还有其他办法吗?

c c++

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

memcpy - 将uint64复制到char*

我只是不知道memcpy是什么工作的.您只需复制粘贴代码,看看输出如何不加起来.我知道我可以用其他方式编写代码,但我只是想知道为什么memcpy不起作用.

typedef unsigned char* bitmap;
#define getbit(n,bmp) ((bmp[(n)>>3])&(0x80>>((n)&0x07)))
#define setbit(n,bmp) {bmp[(n)>>3]|=(0x80>>((n)&0x07));}
#define bitmapsize(n) (((int)(n)+7)>>3)
#define to_uint64(buffer,n) ((uint64_t)buffer[n] << 56 | (uint64_t)buffer[n+1] << 48 | (uint64_t)buffer[n+2] << 40  | (uint64_t)buffer[n+3] << 32 | (uint64_t) buffer[n+4] << 24 | (uint64_t)buffer[n+5] << 16 | (uint64_t)buffer[n+6] << 8  | (uint64_t)buffer[n+7])

int main(int argc, char *argv[])
{
    bitmap bm1, bm2,bm3;
    unsigned int m_size=128;

    if (!(bm1 = (bitmap) calloc (bitmapsize(m_size), sizeof(char))));             
    setbit(100,bm1);     

    if (!(bm2 = (bitmap) calloc (bitmapsize(m_size), sizeof(char))));
    setbit(120,bm2);     

    for (unsigned int i = 0; …
Run Code Online (Sandbox Code Playgroud)

c c++

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

标签 统计

python ×3

awk ×2

bash ×2

c ×2

c++ ×2

linux ×2

dictionary ×1

grouping ×1

head ×1

javascript ×1

join ×1

list ×1

multiprocessing ×1

perl ×1

sed ×1

settimeout ×1

sorted ×1

syslog ×1

tail ×1