小编wis*_*shi的帖子

如何自动化git以在服务器上自动克隆存储库?

我有一个要在其中推送更改的存储库。我想将两个存储库:./pages.git同步到./pages。我在开发机器上的git设置会推送到pages.git中。但是该Web应用程序可以使用./pages。

git clone pages.git pages
fatal: destination path 'pages' already exists and is not an empty directory.
Run Code Online (Sandbox Code Playgroud)

好了,现在我删除pages目录,并且git clone可以了。但这不是干净的解决方案,不是吗?

有什么方法可以不必手动删除pages目录吗?我想使该过程自动化,以便git在我按下时自动执行操作。

最好,马吕斯

git git-clone

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

在Python中处理阻塞函数调用

我正在使用Gnuradio框架.我处理我生成的流程图来发送/接收信号.这些流程图初始化并启动,但它们不会将控制流程返回给我的应用程序:

我进口了 time

while time.time() < endtime:
        # invoke GRC flowgraph for 1st sequence
        if not seq1_sent:
            tb = send_seq_2.top_block()
            tb.Run(True)
            seq1_sent = True
            if time.time() < endtime:
                break

        # invoke GRC flowgraph for 2nd sequence
        if not seq2_sent:
            tb = send_seq_2.top_block()
            tb.Run(True)
            seq2_sent = True
            if time.time() < endtime:
                break
Run Code Online (Sandbox Code Playgroud)

问题是:只有第一个if语句调用流图(与硬件交互).我陷入了困境.我可以使用一个Thread,但我没有经验,如何在Python中超时线程.我怀疑这是可能的,因为似乎杀死线程不在API中.这个脚本只需要在Linux上工作......

如何正确处理Python的阻塞函数 - 不会破坏整个程序.这个问题的另一个更具体的例子是:

import signal, os

def handler(signum, frame):
        # print 'Signal handler called with signal', signum
        #raise IOError("Couldn't open device!")
        import time
        print "wait"
        time.sleep(3) …
Run Code Online (Sandbox Code Playgroud)

python multithreading gnuradio blocking

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

Python 中的线程队列挂起

我正在尝试通过队列使解析器成为多线程。它似乎有效,但我的队列挂起。如果有人能告诉我如何解决这个问题,我将不胜感激,因为我很少编写多线程代码。

此代码从 Q 中读取:

from silk import *
import json
import datetime
import pandas
import Queue
from threading import Thread

l = []
q = Queue.Queue()

def parse_record():
    d = {}
    while not q.empty():
        rec = q.get()
        d['timestamp'] = rec.stime.strftime("%Y-%m-%d %H:%M:%S")
        # ... many ops like this
        d['dport'] = rec.dport
        l.append(d) # l is global
Run Code Online (Sandbox Code Playgroud)

这填补了问题:

def parse_records():
    ffile = '/tmp/query.rwf'
    flows = SilkFile(ffile, READ)
    numthreads = 2

    # fill queue
    for rec in flows:
        q.put(rec)
    # work on Queue …
Run Code Online (Sandbox Code Playgroud)

python queue multithreading freeze

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

如何使用dask映射列

我想在DataFrame列上应用映射.对于熊猫,这是直截了当的:

df["infos"] = df2["numbers"].map(lambda nr: custom_map(nr, hashmap))
Run Code Online (Sandbox Code Playgroud)

这将infos根据custom_map函数写入列,并使用数字中的行作为lambda语句.

使用dask,这并不是那么简单.ddf是一个dask DataFrame.map_partitions相当于在DataFrame的一部分上并行执行映射.

这并没有工作,因为你没有定义一样,在DASK列.

ddf["infos"] = ddf2["numbers"].map_partitions(lambda nr: custom_map(nr, hashmap))
Run Code Online (Sandbox Code Playgroud)

有谁知道如何在这里使用列?我根本不了解他们的API文档.

python pandas dask

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

Secure C和大学 - 接受过缓冲区溢出培训

我最近在C完成了大学课程.所以我当然缺乏经验.

一些大学倾向于教他们的学生安全编程,或至少一些元素.还有,即使视频(摘自这里).

在C中,复制字符串,据我所知 - strcpy或string.h函数.如何在日常编程中安全地使用它?你有一些函数,它们处理分配以防止缓冲区溢出?有CCERT安全编码标准.它提供示例和合规解决方案:

int main(int argc, char *argv[]) {
  /* ... */
  char prog_name[128];
  strcpy(prog_name, argv[0]);
  /* ... */
}
Run Code Online (Sandbox Code Playgroud)

他们的替代方案是:

int main(int argc, char *argv[]) {
  /* ... */
  char *prog_name = (char *)malloc(strlen(argv[0])+1);
  if (prog_name != NULL) {
    strcpy(prog_name, argv[0]);
  }
  else {
    /* Couldn't get the memory - recover */
  }
  /* ... */
}
Run Code Online (Sandbox Code Playgroud)

从这里开始,第二个例子.

但据我所知,这更具挑战性,更多代码,更多工作.为什么没有人改变图书馆本身?或者至少为什么没有人提供安全的替代库或功能,以正确的方式处理这个?

感谢阅读,愿

c security buffer-overflow

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

"面向语言的编程"与现实世界中的OOP/Functional相比如何?

我最近开始阅读一些F#相关文献,谈到"真实世界功能编程"和"专家F#"等.一开始很容易,因为我在Haskell中有一些背景知识,并且知道C#.但是当谈到" 面向语言的编程 "时,我只是不明白. - 我读了一些解释,就像阅读一篇学术论文,每篇句子都更加抽象和奇怪.

有没有人有这样的东西的简单例子,以及它与现有范例的比较?这不仅仅是学术幻想,不是吗?;)

谢谢,愿

paradigms f#

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

在Python中按日期排序CSV

我正在尝试对CSV文件进行排序,我希望按日期按相反的顺序排序项目:最新的.

def SortCsvByField( filename, fieldNo, sep = ',' ):
   records = [line.split(sep) for line in file(filename)]
Run Code Online (Sandbox Code Playgroud)

至于它很简单,但我如何比较日期?

python csv sorting

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

二维ArrayList

这只是一个非常小的问题......我似乎遇到了太多的复杂问题:我必须实现像{42,someString}这样的索引结构.我试过了:

Object entry[][] = new Object[1][1];
ArrayList<Object> my_list = new ArrayList<Object>();
Run Code Online (Sandbox Code Playgroud)

然而,这看起来很奇怪.是不是只有存储一些Integer和String的更简单的解决方案?我需要搜索字符串并返回整数...所以我认为Collections和ArrayLists是Java API中的好朋友.

java multidimensional-array

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

fork现有的只读Git存储库

我想添加一个Git,以便原作者能够提取更改.通常我会在GitHub这样的东西上分叉,工作流程很简单.但是对于外部回购,我没有在文档中找到任何内容.

有谁知道这对外部存储库有用吗?这是我试过的:

% more .git/config 
[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[remote "upstream"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = git://wiesel.ece.utah.edu/gr-ieee802-15-4.git
[branch "master"]
    remote = origin
    merge = refs/heads/master
[remote "origin"]
    url = git@github.com:wishi/gr_802.15.4.git
    fetch = +refs/heads/*:refs/remotes/origin/*
Run Code Online (Sandbox Code Playgroud)

上游应该是远程回购,并掌握GitHub的东西.经过一个微不足道的第一次改变后:

% git commit -a -m "check"
[master 796f97a] check
 1 files changed, 1 insertions(+), 1 deletions(-)

% git push origin master
To git@github.com:wishi/gr_802.15.4.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed …
Run Code Online (Sandbox Code Playgroud)

git version-control merge git-branch

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

"[float(n)-50 for n in range(100)]" - 这是做什么的?

我偶然发现了这个单行:

[float(n)-50 for n in range(100)]
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我它的作用吗?它应该返回向量的浮点值.

最好的,马吕斯

python

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