小编Nik*_*s R的帖子

Python set()和__hash__混淆

我定义的其中一个类用于set()过滤掉相等的对象.但它没有像我期望的那样工作,所以我显然明白了一些错误.

class Foo(object):

    def __hash__(self):
        return 7

x = set()
x.add(Foo())
assert len(x) == 1
x.add(Foo())
assert len(x) == 1    # AssertionError
Run Code Online (Sandbox Code Playgroud)

我希望集合只包含一个元素,但它有两个元素.这是为什么?

python hash set

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

Flask 应用程序不使用在另一个模块中定义的路由

我无法使用一个创建 Flask 应用程序对象并运行它的模块,以及一个实现视图(路由和错误处理程序)的模块。这些模块包含在 Python 包中。

app.py

from flask import Flask
app = Flask('graphlog')

import config
import views

if __name__ == '__main__':
    app.run(host=config.host, port=config.port, debug=config.debug)
Run Code Online (Sandbox Code Playgroud)

views.py

from app import app

@app.route('/')
def index():
    return 'Hello!'
Run Code Online (Sandbox Code Playgroud)

config.py

host = 'localhost'
port = 8080
debug = True
Run Code Online (Sandbox Code Playgroud)

我总是得到 Flask 的默认“404 Not Found”页面。但是,如果我将 的内容移动view.pyapp.py,它会起作用。这里有什么问题?

python module flask python-2.7

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

基于 SSH 密钥限制访问

假设我在远程服务器上有一个帐户storage,用户可以从中上传和下载数据。我手动将允许用户的 SSH 密钥添加到/home/storage/.ssh/authorized_keys. 现在,我有两个使用不同公共 SSH 密钥的用户:Watson 和 Sherlock。

如何确保 Watson 无法向 Sherlocks 私人画廊上传/下载?是否可以根据用于身份验证的 SSH 密钥定义文件/文件夹权限?

我想到了一个被设置为storage用户 shell 的受限 shell 程序。但是这个受限 shell 如何找出使用的 SSH 密钥呢?

unix authentication permissions ssh shell

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

Windows 10上的Visual Studio 2010 x64编译器

我已经安装了Visual Studio 2010 Express,但我需要x64编译器工具集.我无法在Windows 10计算机上安装带有Windows 7.1 SDK的编译器工具集,它说"未安装.NET Framework 4".

如何获得Visual Studio 2010的x64编译器?

windows visual-studio-2010 visual-c++ windows-10

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

不能分配给闭包中使用的变量,因为它是借用的

我试图通过使用小的辅助闭包使我的代码的某些部分更易于阅读。

fn main() {
    let mut loop_index = 0;

    let get_src_index = || return loop_index % 2;
    let get_dst_index = || return (loop_index + 1) % 2;

    loop_index += 1;
}
Run Code Online (Sandbox Code Playgroud)

还有一些使用get_src_index()and 的闭包get_dst_index(),但它们对问题并不重要。问题是我不能再修改loop_index

fn main() {
    let mut loop_index = 0;

    let get_src_index = || return loop_index % 2;
    let get_dst_index = || return (loop_index + 1) % 2;

    loop_index += 1;
}
Run Code Online (Sandbox Code Playgroud)

我不太明白为什么 Rust 不允许增加loop_index变量。有没有更“生锈”的方式来做到这一点?

closures rust

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

VSCode黑色菜单栏

因此,在上次更新的发行说明(1.27.2)中,我看到了以下屏幕截图:

在此处输入图片说明

但是我的菜单栏看起来像平常一样丑陋。如何启用黑色菜单栏(我假设它是作为HTML页面的一部分而不是本机Windows菜单栏实现的)?

在此处输入图片说明

windows visual-studio-code vscode-settings

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

使用os.system异步,独立于python进程?

当使用os.system打开文件时,例如:os.system(r'C:/foo.txt'),当前的Python进程当然会等待系统调用返回。(即:文本编辑器关闭)。
我必须使用线程来使其异步吗?

想象一下以下情况:

我正在使用 Python 为 Windows 编写一个文件管理器。用户单击一个文件。现在使用os.system(the_path_to_the_file_clicked)将使用注册表中设置的默认程序打开文件。
使用线程使系统调用异步可以很好地工作,但是当用户关闭文件管理器时怎么办?Python 进程将一直保持活动状态,直到线程退出,但这不是不必要的吗?另一方面,终止 Python 进程也会终止线程,程序将关闭。

有没有办法使用系统调用来打开一个独立于Python进程的新进程?

python asynchronous system process

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

JNI"env-> GetStaticMethodID()"崩溃的程序

我正在尝试从C++调用Java函数.到目前为止这是我的代码:

#include <jni.h>

typedef struct JavaVMCreationResult {
    JavaVM* jvm;
    JNIEnv* env;
} JVMCreationResult;

JVMCreationResult* CreateJavaVM() {
    JavaVM* jvm;
    JNIEnv* env;

    JavaVMInitArgs args;

    JavaVMOption opts[1];
    opts[0].optionString = "-Djava.class.path=C:\\MyJavaClasses";

    args.version = JNI_VERSION_1_6;
    args.nOptions = 1;
    args.options = opts;
    args.ignoreUnrecognized = JNI_TRUE;

    JNI_GetDefaultJavaVMInitArgs(&args);

    JNI_CreateJavaVM(&jvm, (void **) &env, &args);

    JavaVMCreationResult* cres;
    cres->jvm = jvm;
    cres->env = env;

    return cres;
}

int main() {
    JVMCreationResult* cres = CreateJavaVM();
    JavaVM* jvm = cres->jvm;
    JNIEnv* env = cres->env;

    jclass cls = env->FindClass("Main");
    jmethodID mid = env->GetStaticMethodID(cls, "main", …
Run Code Online (Sandbox Code Playgroud)

c++ java java-native-interface

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

在哪里下载NPAPI?

我现在已经找了大约一个小时,我已经觉得有点傻了.我在哪里可以找到NPAPI的下载?我已经略微浏览了Gecko Plugin API Reference,但找不到下载链接.我还下载了Gecko SDK,它在下载后被称为xulrunner sdk(??),但Windows搜索告诉我npapi.h包中没有.

我在哪里可以下载NPAPI?

*编辑:

DOH - 我错了.该npapi.h包含在壁虎SDK.对不起.

npapi browser-plugin

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

渲染二维元素的参考(圆形,圆角矩形,模糊〜)

我正在编写一个Python模块,它应该为低级GUI平台提供简单的OOP接口.为此,需要创建一个由模块中的类使用的包装类.

这是基本实现的(尚)类图.

类图

这个问题实际上并不是关于包的设计,但如果你对它有疑问或者想知道什么可能更好,我不会介意任何评论/评论.

所述DrawArea类是低级别的平台,并在包中的类之间的粘合剂.事件通常从这里开始,因为包装器应该识别鼠标/键盘事件并通知它的孩子.

现在,正如您所看到的,DrawArea类需要实现一些函数来将基本元素呈现到GUI上.现在,我想了解渲染圆,圆角矩形,线条(厚度)和抗锯齿背后的魔力.其中一个原因是我只是对这个主题感兴趣,另一个原因是我想用这个包提供一个实现.(将用C/C++编写,我很确定Python对于这样的渲染操作会很慢,不是吗?)

现在我的问题:

  1. 对于如何渲染圆形,椭圆形,圆角矩形或线条(有一个厚度,单像素线很容易......),有什么好的参考吗?
  2. 对于如何实现抗锯齿有什么好的参考吗?
    • 例如,渲染元素时是否进行了抗锯齿处理,或者在完成所有渲染操作后应用了抗锯齿?
  3. 使用像Path渲染类这样的东西会更好吗?即应该呈现的表单的矢量化表示.这将有利于呈现任何类型的二维形式,但我不知道如何实现它.渲染矢量图形有很好的参考吗?

c++ python user-interface rendering 2d

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