小编Mat*_*ten的帖子

删除目录的符号链接

我有一个重要目录的符号链接.我想摆脱那个符号链接,同时保持它背后的目录.

我试着rm回去rm: cannot remove 'foo'.
我试着rmdir然后回来rmdir: failed to remove 'foo': Directory not empty
然后继续前进rm -f,rm -rf然后sudo rm -rf

然后我去寻找我的备份.

有没有办法摆脱符号链接,而不是用洗澡水扔掉婴儿?

linux symlink file

1063
推荐指数
8
解决办法
92万
查看次数

如何检查列表是否只有一个真值?

在python中,我有一个列表应该只有一个 truthy值(即,bool(value) is True).有没有一种聪明的方法来检查这个?现在,我只是遍历列表并手动检查:

def only1(l)
    true_found = False
    for v in l:
        if v and not true_found:
            true_found=True
        elif v and true_found:
             return False #"Too Many Trues"
    return true_found
Run Code Online (Sandbox Code Playgroud)

这似乎不优雅,不是非常pythonic.有更聪明的方法吗?

python

76
推荐指数
8
解决办法
2万
查看次数

VSLauncher启动错误的版本

我安装了3个版本的Visual Studio,以及需要特定版本的3个项目.VSLauncher用于查看SLN或VCPROJ文件并打开正确版本的Visual Studio.现在它只启动最新版本,无论项目如何.

请注意,这与通常报告的VS版本的问题无关.没有任何SLN曾经被beta VS触及过.

visual-studio-2005 visual-studio-2010 visual-studio-2008 visual-studio

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

forward声明静态函数c ++

我想在另一个文件中声明一个类的静态成员函数.我想做的事情看起来像这样:

BigMassiveHeader.h:

class foo
{
    static void init_foos();
}
Run Code Online (Sandbox Code Playgroud)

Main.cpp的:

class foo;
void foo::init_foos();
int main(char** argv, int argc)
{
    foo::init_foos()
}
Run Code Online (Sandbox Code Playgroud)

这失败了"错误C2027:使用未定义类型'foo'"

有没有办法完成我想做的事情,使init_foos成为一个自由函数,或包括BigMassiveHeader.h?(BigMassiveHeader.h显着影响编译时间,并且包含在任何地方.)

c++

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

垃圾收集器使用了多长时间?

我的python程序有一个奇怪的性能行为:运行的时间越长,它就越慢.在早期,它每分钟发出数十个工作单位.经过一个小时后,每个工作单位需要几十分钟.我怀疑这是由拥挤的垃圾收集器引起的.

问题在于,我的脚本太缺乏内存,因此cProfile可以在大型运行中工作.(参见:cProfile占用大量内存)

我们已经编写了自己的性能插件,我们可以观察系统的大部分内容,但似乎没有任何问题.仍未解决的一块岩石是GC.

有没有其他方式(除了配置文件或cProfile),看看有多少时间去GC?

python profile garbage-collection

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

扁平化浅层嵌套列表的成语:它是如何工作的?

我在我正在处理的模块中找到了这段代码:

l = opaque_function()
thingys = [x for y in l for x in y]
Run Code Online (Sandbox Code Playgroud)

我看不懂这个.通过实验,我能够确定它是否展平了2级嵌套列表,但是syntex对我来说仍然是不透明的.它显然省略了一些可选括号.

>>> l = [[1,2],[3,4]]
>>> [x for y in l for x in y]
[1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)

我的眼睛想要将它解析为:[x for y in [l for x in y] ]或者[ [x for y in l] for x in y ],但是由于y没有被定义,两者都失败了.

我该怎么读这个?

(我怀疑在解释这个问题时我会感到非常尴尬.)

python

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

将 C++/CLI 转换为 C#

我有一个使用 C++/CLI 的中小型项目。我真的很讨厌 C++/CLI 的语法扩展,我更喜欢在 C# 中工作。有没有一种工具可以很好地将一个翻译成另一个?

编辑:当我说 Managed c++ 之前,我显然是指 c++/CLI

.net c# c++-cli

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

Django Admin根据另一个字段过滤ForeignKey下拉列表

我有3个型号:

class FileType(models.Model):
    name=models.CharField(max_length=128)

class ManagedFile(models.Model):
    type = models.ForeignKey(FileType)
    content = models.FileField(upload_to=path_maker)

class Tag(models.Model):
    type = models.ForeignKey(FileType)
    m_file = models.ForeignKey(ManagedFile)

    def clean(self):
        if self.m_file is None:
            return
        if self.type != self.m_file.type:
            raise ValidationError("File type does not match Tag type")
Run Code Online (Sandbox Code Playgroud)

为标签选择m_file时,m_files类型必须与“标签”类型匹配。这一切都很好,但是Tag.m_file的管理员下拉列表显示了所有类型的文件,而与Tag的类型无关。这使用户感到困惑。

在我看来,有很多方法可以静态过滤下拉列表。因此,如果我想说我们永远不会让用户在下拉列表中看到Type.pk = 1,我可以做到这一点。但是似乎没有一种方法可以对m_file.Type == Self.Type进行过滤

django django-models django-forms django-admin

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