小编cfl*_*wis的帖子

自修复Python线程

我创建了一个访问美国和欧盟服务器的网络蜘蛛.美国和欧盟的服务器是相同的数据结构,但内部有不同的数据,我想整理它们.为了对服务器好,每个请求之间都有一个等待时间.由于程序完全相同,为了加快处理速度,我已经对程序进行了线程化,以便它可以同时访问EU和US服务器.

这种抓取需要几周而不是几天.会有例外情况,虽然我已经尝试处理程序中的所有内容,但可能会出现奇怪的情况.为了真正防御这个,我想抓住一个失败的线程,记录错误并重新启动它.最糟糕的情况是我失去了成千上万的页面,这比线程失败并且失去50%的速度更好.但是,从我读过的内容来看,Python线程无声无息.有没有人有任何想法?

class AccessServer(threading.Thread):
    def __init__(self, site):
        threading.Thread.__init__(self)
        self.site = site
        self.qm = QueueManager.QueueManager(site)

    def run(self):
        # Do stuff here


def main():
    us_thread = AccessServer(u"us")
    us_thread.start()

    eu_thread = AccessServer(u"eu")
    eu_thread.start()
Run Code Online (Sandbox Code Playgroud)

python multithreading

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

获取任何版本的git存储库中的文件数

我希望能够在给定的版本中找到Git存储库中的文件数,最好不必先查看修订版.

我以为git ls-files可能会把我带到某个地方,但是我无法看到任何通过Git修改它的方法.

提前致谢!

git

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

"借来的价值不够长久"似乎归咎于错误的事情

我正在计算一个单词出现在麦克白的次数:

use std::io::{BufRead, BufReader};
use std::fs::File;
use std::collections::HashMap;

fn main() {
    let f = File::open("macbeth.txt").unwrap();
    let reader = BufReader::new(f);
    let mut counts = HashMap::new();

    for l in reader.lines() {
        for w in l.unwrap().split_whitespace() {
            let count = counts.entry(w).or_insert(0);
            *count += 1;
        }
    }

    println!("{:?}", counts);
}
Run Code Online (Sandbox Code Playgroud)

生锈barfs,说:

error[E0597]: borrowed value does not live long enough
  --> src/main.rs:14:9
   |
11 |         for w in l.unwrap().split_whitespace() {
   |                  ---------- temporary value created here
...
14 |         }
   |         ^ temporary value dropped …
Run Code Online (Sandbox Code Playgroud)

rust

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

Python在正则表达式中插入反斜杠

我正在尝试使用反斜杠代替正则表达式,但Python似乎插入了一个双反斜杠,我无法让它停止!

>>> re.sub('a', '\\ b', 'a')
'\\ b'
Run Code Online (Sandbox Code Playgroud)

双反斜杠应该是反斜杠(escape + backslash =反斜杠),但它最终是字面意思.

如果我删除双斜杠,它根本不打印一个:

>>> re.sub('a', '\ b', 'b')
'b' 
Run Code Online (Sandbox Code Playgroud)

如何通过一个反斜杠将Python变为sub ?

python regex

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

标签 统计

python ×2

git ×1

multithreading ×1

regex ×1

rust ×1