小编Eri*_*ric的帖子

我应该使用属性或方法计算值吗?

可能重复:
属性与方法

我有一些矢量几何类,并且有很多功能我不知道是否实现为(只读)属性或方法.例子包括:

Vector.Length                   or              Vector.Length()
Vector.Perpendicular            or              Vector.Perpendicular()
Matrix.Determinant              or              Matrix.Determinant()
Matrix.Inverse                  or              Matrix.Inverse()
Run Code Online (Sandbox Code Playgroud)

我应该将这些作为方法或属性实现吗?他们都没有改变他们适用的对象,所以在这方面,他们似乎适合作为属性.另一方面,它们涉及计算(虽然是小的 - 这是2D几何),这显然对属性不利.

在这种情况下,我应该使用哪些规则?

c# properties semantics

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

在网上论坛中更新Google Chrome扩展程序

是否有用于从程序上传chrome扩展程序的API,而无需打开浏览器?

我想要一个更简单的上传更新版本的方法 - 目前这个过程很笨重:

  1. 查找开发人员仪表板
  2. 按扩展程序上的"编辑"
  3. 按"更新文件"
  4. 单击"选择文件",然后手动浏览到该位置,因为该控件不是本机控件,因此不支持拖放
  5. 按"上传"
  6. 返回上一页,然后按保存

我希望能够为我编写一个小脚本来执行此操作,但我不知道我应该请求哪些URL.

google-chrome-extension

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

如何在python中获取驱动器的名称

我有一个有效的驱动器号列表,我想向最终用户提供一个选择.我想向他们展示驱动器的名称.这里有一些代码可以显示驱动器的名称F:\:

import ctypes

kernel32 = ctypes.windll.kernel32
buf = ctypes.create_unicode_buffer(1024)

kernel32.GetVolumeNameForVolumeMountPointW(
    ctypes.c_wchar_p("F:\\"),
    buf,
    ctypes.sizeof(buf)
)

print buf.value
Run Code Online (Sandbox Code Playgroud)

但是,这个输出\\?\Volume{a8b6b3df-1a63-11e1-9f6f-0007e9ebdfbf}\.如何获取Windows在资源管理器中显示的字符串(例如KINGSTON,对于我拥有的某个闪存驱动器)?


编辑:

还是行不通:

volumeNameBuffer = ctypes.create_unicode_buffer(1024)
fileSystemNameBuffer = ctypes.create_unicode_buffer(1024)

kernel32.GetVolumeInformationW(
    ctypes.c_wchar_p("C:\\"),
    volumeNameBuffer,
    ctypes.sizeof(volumeNameBuffer),
    fileSystemNameBuffer,
    ctypes.sizeof(fileSystemNameBuffer)
)
Run Code Online (Sandbox Code Playgroud)

这给了我这个错误:

WindowsError: exception: access violation reading 0x3A353FA0
Run Code Online (Sandbox Code Playgroud)

python windows ctypes

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

使用python脚本作为git filter-branch的过滤器

我正在尝试使用重命名git存储库中的一些提交者git filter-branch。我很想使用一些更复杂的逻辑,但是我不太了解bash。我当前正在使用的(工作)脚本如下所示:

git filter-branch -f --tag-name-filter cat --env-filter '

cn="$GIT_COMMITTER_NAME"
cm="$GIT_COMMITTER_EMAIL"

if [ $cn = "ew" ]
then
    cn="Eric"
    cm="my.email@provider.com"
fi

export GIT_COMMITTER_NAME="$cn"
export GIT_COMMITTER_EMAIL="$cm"
' -- --all
Run Code Online (Sandbox Code Playgroud)

我可以使用python脚本作为--env-filter参数吗?如果是这样,我将如何获得读写权限$GIT_COMMITTER_NAME

我将如何在python文件中执行与该bash字符串等效的操作?

python git bash

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

Sublime Text的语法高亮显示python中的正则表达式泄漏到周围的代码中

我有一个sublime文本的问题,通常应该是所有编辑器.当我有这样的正则表达式.

listRegex = re.findall(r'[*][[][[].*', testString)
Run Code Online (Sandbox Code Playgroud)

正则表达式之后的所有文本都将被错误地突出显示,因为[[],特别是[没有关闭括号.虽然这个正则表达式的意图是正确的,但编辑器并不知道这一点.

这只是一个我不知道如何处理的烦恼.有人知道怎么修这个东西吗?

python color-scheme sublimetext2

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

为单个函数声明异常类型是否合理?

说我有这个代码:

def wait_for_x(timeout_at=None):
    while condition_that_could_raise_exceptions
        if timeout_at is not None and time.time() > timeout_at:
            raise SOMEEXCEPTIONHERE

        do_some_stuff()

try:
    foo()
    wait_for_x(timeout_at=time.time() + 10)
    bar()
except SOMEEXCEPTIONHERE:
    # report timeout, move on to something else
Run Code Online (Sandbox Code Playgroud)

如何SOMEEXCEPTIONHERE为函数选择异常类型?为该函数创建唯一的异常类型是否合理,以便不存在condition_that_could_raise_exceptions引发相同异常类型的危险?

wait_for_x.Timeout = type('Timeout', (Exception,), {})
Run Code Online (Sandbox Code Playgroud)

python exception

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

为什么我不能ping linux上的前导或尾随下划线的地址

在Windows上:

  • _.github.com在浏览器中访问工作
  • nslookup _.github.com 作品
  • ping _.github.com 作品

在Linux上(在两个独立的网络上测试):

  • _.github.com在浏览器中访问工作
  • host _.github.com 作品
  • ping _.github.com 才不是
  • python -c "import requests; requests.get('_.github.com')" 才不是

这里发生了什么?

linux dns ping

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

什么是numpy.where的Math.NET等价物?

我正在将一段目前使用numpy的python代码移植到IronPython(其原因与我正在编写的平台的细节有关).

由于numpy和IronPython不兼容,我需要用Math.NET等效替换每个numpy函数,我已将其作为外部引用添加.

作为Math.NET的新手,我很难找到相应的numpy.where()函数.

任何帮助将不胜感激!

python ironpython numpy mathnet-numerics rhinoceros

5
推荐指数
0
解决办法
540
查看次数

在 numpy 数组之外索引时的默认值,即使是非平凡的索引

是否可以从 nd 数组中查找条目而不抛出IndexError?

我希望是这样的:

>>> a = np.arange(10) * 2
>>> a[[-4, 2, 8, 12]]
IndexError
>>> wrap(a, default=-1)[[-4, 2, 8, 12]]
[-1, 4, 16, -1]

>>> wrap(a, default=-1)[200]
-1
Run Code Online (Sandbox Code Playgroud)

或者可能更像 get_with_default(a, [-4, 2, 8, 12], default=-1)

有没有一些内置的方法来做到这一点?我可以要求 numpy 不要抛出异常并返回垃圾,然后我可以用我的默认值替换它吗?

numpy indexoutofboundsexception

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

在typescript中引用内部类

我可以成功声明一个这样的嵌套类:

class Outer {
    static Inner = class Inner {

    };
}
Run Code Online (Sandbox Code Playgroud)

但是,我希望我的外部类能够保存我的内部类的一些实例:

class Outer {
    constructor() {
        this.inners = [new Outer.Inner()];
    }
    static Inner = class Inner {

    };

    inners: Array<Inner>; // this line errors
}
Run Code Online (Sandbox Code Playgroud)

但这给了我 error TS2304: Cannot find name 'Inner'.

我怎样才能做到这一点?

inner-classes typescript

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