问题列表 - 第19693页

通过继承获取派生类的模块文件路径

假设您有以下内容:

$ more a.py
import os

class A(object):
    def getfile(self):
        return os.path.abspath(__file__)
Run Code Online (Sandbox Code Playgroud)

-

$ more b.py
import a

class B(a.A):
    pass
Run Code Online (Sandbox Code Playgroud)

-

>>> import b
>>> x=b.B()
>>> x.getfile()
'/Users/sbo/tmp/file/a.py'
Run Code Online (Sandbox Code Playgroud)

这很清楚.这段代码并不奇怪.但是假设我希望x.getfile()返回b.py的路径,而不必在类B下定义另一个getfile()副本.

我这样做了

import os
import inspect

class A(object):
    def getfile(self):
        return os.path.abspath(inspect.getfile(self.__class__))
Run Code Online (Sandbox Code Playgroud)

我想知道是否有另一种策略(无论如何,我想在这里写它以便它对其他人有用)或者我提出的解决方案的潜在问题.

CW因为它更像是一个讨论问题,或者是/否是一个问题

python

6
推荐指数
2
解决办法
5176
查看次数

Python和SQLite:插入表中

我有一个列表,每行有3行代表一个表行:

>>> print list
[laks,444,M]
[kam,445,M]
[kam,445,M]
Run Code Online (Sandbox Code Playgroud)

如何将此列表插入表中?

我的表结构是:

tablename(name varchar[100], age int, sex char[1])

或者我应该使用列表以外的东西?

这是实际的代码部分:

    for record in self.server:
        print "--->",record
        t=record
        self.cursor.execute("insert into server(server) values (?)",(t[0],));
        self.cursor.execute("insert into server(id) values (?)",(t[1],))
        self.cursor.execute("insert into server(status) values (?)",(t[2],));
Run Code Online (Sandbox Code Playgroud)

分别插入三个字段可以正常工作,但是使用单行

self.cursor.execute("insert into server(server,c_id,status) values (?,?,?)",(t[0],),(t[1],),(t[2],))

要么

self.cursor.execute("insert into server(server,c_id,status) values (?,?,?)",(t),)

才不是.

python sqlite list insert

44
推荐指数
4
解决办法
15万
查看次数

如何在IE8中编辑和查看实时CSS效果,就像我们在Firefox> Web开发人员工具栏>编辑CSS函数中看到的那样?

如何在IE8中编辑和查看CSS效果,就像我们在Firefox> Web开发人员工具栏>编辑CSS函数中看到的那样?

IE8开发人员工具栏中的类似功能在哪里,或者其他任何IE插件都有这种类型的功能吗?

html css firefox internet-explorer-8 web-developer-toolbar

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

无边框窗口应用程序比屏幕分辨率占用更多空间

我在WPF中创建了一个无边界应用程序,它运行得很好.但是,当我将WindowState设置为全屏时,应用程序会占用比屏幕分辨率更多的空间,因此屏幕外的所有方向都有一些像素!(看起来添加了一些硬编码的负边距来隐藏默认边框)

任何想法如何防止这种情况发生?

我的xaml:

<Window x:Class="MyApp.Shell"
    WindowStyle="None"
    BorderThickness="0"
    AllowsTransparency="True"
    Background="Transparent"
    ResizeMode="CanResizeWithGrip"
    WindowState="{Binding MainApplicationWindowState}"
    ...
Run Code Online (Sandbox Code Playgroud)

另外,我看到的另一个问题是Windows工具栏/任务栏被覆盖在fullsize状态,因此它看起来像是使用"实际"屏幕高度而不是"可用"屏幕高度,这意味着屏幕高度减去窗口工具栏/任务栏!

有人找到了这些问题的解决方案吗?

谢谢

wpf window fullscreen borderless

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

究竟在什么情况下发送WM_ACTIVATE?

我正在尝试调试一个巨大的Win32 GUI应用程序(我有完整的源代码),该应用程序分为几个进程。问题如下:在一个进程中,我有一个带有列表框的对话框,当我双击列表框中的一个项目时,启动了另一个进程,该进程创建了自己的窗口,该窗口位于最前面并覆盖了初始对话框。如果我做了一些操作(由于我还不完全了解它们,我还不能完全解释),某些操作会迫使初始对话框开始在任务栏中闪烁。

我尝试使用Microsoft Spy ++,发现每次执行该操作时,都会将WM_ACTIVATE发送到对话框,大多数情况下,它具有以下参数:

fActive: WA_INACTIVE fMinimized:False hwndPrevious:(null)
Run Code Online (Sandbox Code Playgroud)

在这种情况下,对话框不会开始闪烁。但是有时参数是

fActive: WA_ACTIVE fMinimized:False hwndPrevious:(null)
Run Code Online (Sandbox Code Playgroud)

恰好与对话框闪烁相对应。

MSDN表示,通过鼠标单击以外的其他方法(例如,通过调用SetActiveWindow函数或使用键盘界面选择窗口)激活窗口时,将通过WA_ACTIVE发送WM_ACTIVATE 。

现在,在应用程序代码中从未调用SetActiveWindow(),并且我对可切换窗口的键盘不做任何操作。

WM_ACTIVATE与WA_ACTIVE一起发送还有哪些其他原因?

user-interface winapi visual-c++

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

手动复位事件,自动复位事件

在C#中,手动重置事件,autoresetevent之间有什么区别.同时应该使用相同的.将autoresetevent设置为true或false有什么区别.

c#

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

浏览Git中的孤立提交

我的git存储库已经不知何故了 - 我今天早上加载了msysgit而不是在当前目录之后显示的分支名称,它说"((ref:re ...))","git status"将所有内容报告为新文件,'git log'和'git reflog'告诉我"致命:错误的默认修订'HEAD'",依此类推.

做'git reflog --all'或'gitk --all'告诉我存储库的其余部分是完整的,但看起来我正在处理的分支刚刚消失,这解释了为什么HEAD似乎不存在/指向任何事物.

我知道git会抓住各种各样的信息,而且我认为我的提交已经以某种方式成为孤儿,所以是否有一些命令可以向我显示这些提交以便我可以将HEAD重置为它们?

编辑:哦亲爱的.我发现'git fsck'和'git fsck --full'报告"致命:对象03ca4 ......已损坏".我能为此做些什么?

编辑:哦亲爱的亲爱的哦.我检查了另一个分支,然后尝试使用'git checkout -b lostbranchname'重新创建具有相同名称的原始分支,并且git说"错误:无法解析引用引用/ heads/lostbranchname:没有错误,致命:失败锁定ref以进行更新:没有错误"."没有错误"必定是一个特别令人讨厌的错误.所以看起来它仍然在闲逛,但无法使用,无法被杀死.

编辑:超级亲爱的哦亲爱的.我做了一堆解包和重新打包并更换了这里建议的东西:如何恢复因硬盘故障而损坏的Git对象?,但现在我得到另一个报告为腐败的哈希,因为某些东西像'git status'一样无害.我认为整个事情都是有道理的.Git的可爱和所有,但我不应该处理这种事情.

git

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

Array.ToArray <>()是否返回原始数组(如果它是相同的类型)?

我每天处理一个框架,我们有时提供接受IEnumerable<MyBusinessObject>作为参数的方法,以显示用户界面,执行计算等.

如果我传入一个MyBusinessObject像这样的数组:

MyBusinessObject[] myArray = new MyBusinessObject { obj1, obj2, ..., objN };
frameworkClass.MyMethod(myArray);

....

public class FrameworkClass
{
    public void MyMethod(IEnumerable<MyBusinessObject> objs)
    {
        // Other code that uses the enumerable
        MyBusinessObject[] objectArray = objs.ToArray();            
        // More code that uses the enumerable
    }
}
Run Code Online (Sandbox Code Playgroud)

该行objs.ToArray()只是简单地解析IEnumerable<MyBusinessObject>回原始数组,还是将它复制到一个全新的数组,准备好使用?

c# linq extension-methods

40
推荐指数
2
解决办法
6703
查看次数

HTML设计 - 100%不适用于该元素

HII,

我正在使用.net 2008.当我用HTML设计页面时,我已经将外表的高度设置为100%,但它没有达到窗口的整个高度

html

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

使用jquery在javascript变量中复制html div

在我的aspx页面中我有一个包含简单html的div,有一些id(比如'datadiv')

使用jquery我想将该div(整个div)的html变为JavaScript变量

怎么做到呢?

谢谢.

html javascript jquery

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