小编Fab*_*ian的帖子

为什么cls .__ name__没有出现在dir()中?

假设我有一个简单的类:

class Foobar(object):
    pass
Run Code Online (Sandbox Code Playgroud)

如果我使用dir(Foobar),我会得到以下输出:

['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']
Run Code Online (Sandbox Code Playgroud)

即使它没有出现在输出中dir(),我也可以访问__name__:

Foobar.__name__
Run Code Online (Sandbox Code Playgroud)

得到Foobar.

为什么Python表现那样?

python

11
推荐指数
2
解决办法
874
查看次数

OSX上的单声道:找不到gtksharpglue-2.dll

我正在尝试在C#中完成我的第一步,并希望构建一个空的GTK窗口作为我的第一个任务.通过macports我安装了以下包:

  • mono@2.10.9
  • gtk-sharp@1.0.10
  • gtk-sharp2@2.12.10

我也使用Mono主页上的MonoDevelop.

我添加gtk-sharp.dll(从/opt/local/lib/mono/gtk-sharp-2.0)我的参考.我的代码看起来像这样:

using System;
using Gtk;

namespace lolbr_client
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            Console.WriteLine("Loading..");
            Window window = new Window("test");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当我编译并运行该代码片段时,它似乎找到并包含GTK库,它将"Loading .."打印到控制台,但后面的行Console.WriteLine()会导致此错误:

System.DllNotFoundException: gtksharpglue-2
  at (wrapper managed-to-native) Gtk.Container:gtksharp_gtk_container_get_focus_child_offset ()
  at Gtk.Container..cctor () [0x00000] in <filename unknown>:0
Run Code Online (Sandbox Code Playgroud)

虽然我的文件系统上不存在特定的.dll,但快速locate gtksharpglue-2显示以下文件:

/Library/Frameworks/Mono.framework/Versions/2.10.9/lib/libgtksharpglue-2.so
/opt/local/lib/libgtksharpglue-2.a
/opt/local/lib/libgtksharpglue-2.la
/opt/local/lib/libgtksharpglue-2.so
Run Code Online (Sandbox Code Playgroud)

这些文件对我有帮助吗?从这里调试/修复此问题的后续步骤是什么?我已经搜索了Google,但要么我对这个主题太新,要么无法识别有用的信息,要么就是不存在有用的信息.有人能帮我吗?提前致谢!

c# gtk macos mono

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

Python:set.pop()的用例是什么?

Python内置类型set有一个名为pop()的方法,来自docs:

从集合中删除并返回任意元素.如果集合为空,则引发KeyError.

我想不出这个功能的任何用例,似乎是尝试实现该list接口.

为什么这部分是Python标准?

python

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

如果你从dict继承,为什么__dict__总是空的?

我对Python 2.7中的子类化行为有疑问.

如果我从内置dict类型继承,它似乎__ dict __总是空的.Python在哪里保存键/值对?

>>> class Foobar(dict):
...     pass
... 
>>> foobar = Foobar()
>>> foobar.__dict__
{}
>>> foobar['test'] = 1
>>> foobar.__dict__
{}
>>> 
Run Code Online (Sandbox Code Playgroud)

python

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

用于匹配IPV4地址的Python正则表达式不起作用

我正在使用re图书馆.

def validate_ip(self, ip):
    pattern = re.compile(r'([01]?[0-9]?[0-9]|2[0-4][0-9]|2[5][0-5])\.{4}')
    matchObj = re.match(pattern, ip)

    if matchObj == None:
        print "Invalid IP:", ip
        sys.exit(0)
Run Code Online (Sandbox Code Playgroud)

当我通过IP 192.0.0.0时,输出是:

Invalid IP: 192.0.0.0
Run Code Online (Sandbox Code Playgroud)

为什么不匹配?

python regex

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

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

创建从git仓库安装的Python .egg

我目前正在研究Python产品的部署技术。我们已经使用多个git存储库来管理代码,但希望改善设置和更新服务器的过程。如今,easy_install,.egg文件和virtualenv似乎是最好的工具。

要注意的是:我们实际上并没有进行版本控制。我们所有的产品都有一个master分支,该分支应该一直提供稳定的代码。如果要更新,则必须git pull针对每个产品及其所有依赖性在每个服务器上的master分支。

该解决方案非常耗时,我们希望对其进行改进。

我的想法是在所有服务器/安装上创建一个virtualenv实例,并使用easy_install来安装和更新我们自己的软件包,但是我找不到一种方法来指定git存储库作为源代码的源。

有办法实现吗?我错过了什么?我是朝错误的方向前进吗?总体而言,这是个坏主意吗?

在此先感谢Fabian

python setuptools virtualenv

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

标签 统计

python ×6

c# ×1

gtk ×1

macos ×1

mono ×1

regex ×1

setuptools ×1

virtualenv ×1