小编qsf*_*fzy的帖子

为什么Python脚本读取文件会导致计算机发出哔哔声?

我写了一个小模块,它将搜索目录中的文件及其所有子目录,以便发生一些输入字符串.它已经很方便了几次,主要是为了找到旧脚本,如果我记得我使用过的一些函数/变量名.

所以,前几天当我使用这些功能时,我完全感到困惑,并且从坐在我办公桌远端的耳机开始非常微弱地听到,反复发出哔哔声.起初我以为是某人的电话响了.但不,Python正在通过摩尔斯电码与我沟通.

我不知道为什么会这样.我继续运行这些功能并发出哔哔声,并不总是采用相同的模式.这些函数仅打开具有读取权限的文件.代码正是这样的:

import os
import glob

def directory_crawl_for_string(dir_name, string, ofile):
    """Crawl dir_name and all of its subdirectories, opening files and
    checking for the presence of a string"""

    #get input directory's listings
    dir_contents = glob.glob(dir_name)
    #loop over the listings
    for dir_element in dir_contents:
        if(os.path.isfile(dir_element)):
            #read the file, checking for the string
            check_for_string(dir_element, string, ofile)
        else:
            if(os.path.isdir(dir_element)):
                directory_crawl_for_string(dir_element + '\\*', string, ofile)

def check_for_string(dir_element, string, ofile):

    try:
        ifile = open(dir_element, 'r')
    except IOError as e:
        pass
    else:
        count = 1
        for …
Run Code Online (Sandbox Code Playgroud)

python

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

是否有理由在C代码中使用*&或&*?

我已经遇到了一些C代码,利用参考/间接引用(或者不管你选择给他们打电话)的运营商,*并且&,在同一时间,喜欢&*foo*&bar.我很困惑.有什么理由这样做吗?

c addressof unary-operator dereference

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

Bokeh,如何使用CustomJS回调更改用于字形颜色的列?

我正在使用Bokeh通过传递ColumnDataSourcefigure.circle函数来创建散点图.数据源具有为每个点指定某些颜色的列,每行都有一个十六进制代码,因为我想要使用的着色方案有点复杂.

有没有办法在窗口小部件的回调中更改用于为圆圈着色的列?我想象一个下拉菜单,允许用户为点选择各种着色方案.

javascript python bokeh

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

如何在matplotlib中的图例的正下方放置一个文本框?

使用matplotlib,我想在图例下放置一个文本框,其中包含有关该图的一些注释。我的传说在右边的轴外。我的计划是在图的参考框架中找到图例的位置,然后使用图的text方法放置我的笔记。但是,我不知道如何获取这些图例坐标。任何建议或替代计划将不胜感激。

python matplotlib

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

从C ++中的任意类继承?

是否可以设计一个将从一组基类中的任何一个继承的类?我希望能够编写如下内容:

class Derived : public ArbitraryBase {
    public:
        Derived () : ArbitraryBase () {}

    ...
};
Run Code Online (Sandbox Code Playgroud)

哪里ArbitraryBase可以在编译时确定一些基类。我有一组基类,我想从中派生相同的类。有没有一种方法可以避免为每个基类编写一个单独的派生类?

c++

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

在 for 循环中构造的对象是否会在各自的迭代之后或整个循环完成之后被破坏?

我在并行 for 循环内创建大量对象,以执行同一任务的细微变化。构造时,对象分配一些向量。循环看起来像这样:

#pragma omp parallel for schedule(dynamic)
for (long long unsigned i=0; i<nparam; i++) {
    Foo x;
    x.do_task();
    x.save_results();
}
Run Code Online (Sandbox Code Playgroud)

它导致计算机内存不足。Foo这是因为在循环的所有迭代完成之前每个对象都不会被破坏。这可能是个问题,因为如果我要进行 100,000 次迭代,并且每个对象使用具有 10,000 个双精度的向量,则需要 8 GB(对吗?),这很大。

另一方面,如果每个Foo对象在循环迭代后被破坏,我必须在某处寻找内存泄漏。

c++ openmp

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

如何在 matplotlib 中将图例的右上角锚定到轴的右上角?

我试图将 matplotlib 图的图例恰好定位在轴的右上角,以便图例的边缘和轴的边缘之间没有微小的线条部分。我想通过直接调用 Legend 对象的方法来完成此操作,例如Legend.set_bbox_to_anchor(),但我的尝试似乎根本没有移动图例。

这是我最近的尝试:

leg.set_bbox_to_anchor((1,1), transform = ax.transAxes)
Run Code Online (Sandbox Code Playgroud)

其中leg是 Legend 对象,ax是父 Axes 对象。您对我如何实现这一目标有什么想法吗?

python matplotlib legend

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