小编Nea*_*roo的帖子

Python ElementTree"找不到元素"异常

大家好日子.

我正在尝试使用ElementTree读取,解析和使用xml文件.以下数据:

<level>
    <leveldata>
        <level name="hh" difficulty="Easy" lenght="3600">
            <meteorite chance="4" speed="3" >
                <image id="1">
                <image id="2">
                <image id="3">
            <meteorite />
            <meteorite chance="4" speed="3" >
                <image id="4">
                <image id="5">
                <image id="6">
            <meteorite />
        <level />
    <leveldata />
    <meteorimages>
        <meteor id="5" imagepath="res\meteorit_1.png">
        <meteor id="5" imagepath="res\meteorit_2.png">
        <meteor id="5" imagepath="res\meteorit_3.png">
    <meteorimages />
<datasheet />
<level />
Run Code Online (Sandbox Code Playgroud)

可悲的是,我的ElementTree给了一个例外!使用以下代码读取文件:

import xml.etree.ElementTree as ET
***code***
tree = ET.parse("res\\data.xml")
root = tree.getroot()
Run Code Online (Sandbox Code Playgroud)

例外:

File "E:\blabla\core.py", line 26, in load_levelproperties
    *tree = ET.parse("res\\data.xml")*   File "E:\Programme(x86)\Python2.7x86\lib\xml\etree\ElementTree.py", line
1182, in parse …
Run Code Online (Sandbox Code Playgroud)

python xml parsing elementtree xml-parsing

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

“约束中的非类型变量参数”的真正含义是什么?

例如:

map (+1) 2
Run Code Online (Sandbox Code Playgroud)

GHCI 收益率

<interactive>:23:1: error:
* Non type-variable argument in the constraint: Num [b]
  (Use FlexibleContexts to permit this)
* When checking the inferred type
    it :: forall b. (Num b, Num [b]) => [b]
Run Code Online (Sandbox Code Playgroud)

我见过很多与我类似的问题,但所有问题似乎都只是回答我们可以从中推断出的内容(第二个参数的类型是map错误的),以及如何修复它 - 但不是错误的实际含义。到底哪里出了问题?

haskell type-deduction

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

SDL2 错误:使用 pyinstaller 冻结 kivy 应用程序时“无法加载图像 &lt;default.png&gt;”

我无法使用 pyinstaller 生成工作 exe(应用程序的名称是 settings_gui)。

运行时错误:(完整日志

[WARNING           ] [Image       ] Unable to load image <<project_path>\dist\SETTIN~1\kivy_install\data\glsl\default.png>
[CRITICAL          ] [Window      ] Unable to find any valuable Window provider
at all!
sdl2 - Exception: SDL2: Unable to load image
  File "site-packages\kivy\core\__init__.py", line 67, in core_select_lib
  File "site-packages\kivy\core\window\window_sdl2.py", line 138, in __init__
  File "site-packages\kivy\core\window\__init__.py", line 722, in __init__
  File "site-packages\kivy\core\window\window_sdl2.py", line 255, in create_wind
ow
  File "site-packages\kivy\core\window\__init__.py", line 897, in create_window
  File "kivy\graphics\instructions.pyx", line 756, in kivy.graphics.instructions
.RenderContext.__init__ (kivy\graphics\instructions.c:10729)
  File "site-packages\kivy\core\image\__init__.py", line …
Run Code Online (Sandbox Code Playgroud)

python pyinstaller kivy sdl-2

4
推荐指数
2
解决办法
3952
查看次数

Elif-row 没有 else python

是否可以else在 -row 的末尾写入一个if仅当所有if语句都不为真时才执行的?例子:

if foo==5:
    pass
if bar==5:
    pass
if foobar==5:
    pass
else:
    pass
Run Code Online (Sandbox Code Playgroud)

在此示例中, if isn't 5 则执行 else 部分,但我希望 if , and are not 5foobar执行它。(但是,如果所有语句都为 true,则必须执行所有语句。)foobarfoobar

python if-statement

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

无法构建PortAudio - "LNK1104:无法打开文件'ksguid.lib'"

我是C/C++的初学者,所以请耐心等待.

我正在尝试构建PortAudio库,以便我可以在我的一个项目中使用它.我正在使用VS 2013,构建的预设项目文件必须转换为我的版本.我已经能够解决我在这里遇到的所有问题,除了一个:

LINK : fatal error LNK1104: cannot open file 'ksguid.lib'
Run Code Online (Sandbox Code Playgroud)

我已经看过这个这个网站了.所有这些都解决了这个问题,但他们中没有一个能够解决它.以下是这些网站建议的解决方案:

  • 添加WASAPI- 符号portaudio.def,
  • 添加PA_WDMKS_NO_KSGUID_LIB- 定义到预处理器

c++ linker portaudio visual-studio

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

__instancecheck__-覆盖不起作用-我在做什么错?

我试图使我的类作为另一个对象出现,以规避正在使用的程序包中的惰性类型检查。更具体地说,我试图使我的对象作为另一个对象的实例出现(tuple在我的情况下),而实际上它甚至不是该对象的派生。

为了实现这一目标,我计划重写该__isinstance__方法,根据docs,该方法应该完全按照我的意愿进行。但是,由于我的尝试未成功,因此我似乎不知道该怎么做。

这是一个SSCCE,应该在所有情况下可以isinstance回报False,但不能回报。

class FalseInstance(type):
    def __instancecheck__(self, instance):
        return False

class Foo(metaclass=FalseInstance):
    pass

g = Foo()
isinstance(g, Foo)
> True
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

python metaclass magic-methods isinstance python-3.x

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

为什么即使在这个例子中已经确定了类型仍然需要铸造类型?

今天我在Kotlin Docs中看到了这一部分.Kotlin被称为"聪明的演员阵容",似乎"在需要时自动插入(安全)演员阵容":

在许多情况下,不需要在Kotlin中使用显式强制转换运算符,因为编译器会跟踪对不可变值的is-checks并在需要时自动插入(安全)强制转换:

fun demo(x: Any) {
    if (x is String) {
        print(x.length) // x is automatically cast to String
    }
}
Run Code Online (Sandbox Code Playgroud)

我不明白这个例子中"智能铸造"的作用.似乎没有什么需要转换,因为它x总是String,因此x.length总是有效,不需要转换.print线路上究竟发生了什么?提前致谢!

optimization casting kotlin

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

匹配语句中的海象运算符导致语法无效

我不明白为什么以下 python 3.10+ 代码是无效语法:

match prop.type:
    case ns.Instance(content := ns.Class(name)) if name is not None:
        continue
Run Code Online (Sandbox Code Playgroud)

对我来说,这与那里记录的海象模式相匹配。怎么了?我收到以下错误:

case ns.Instance(content := ns.Class(name)) if name is not None:
                             ^^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

此外,pylace还向我显示以下错误(在编辑器中):

case ns.Instance(content := ns.Class(name)) if name is not None:
                ^
"(" was not closed
Run Code Online (Sandbox Code Playgroud)

并进一步

case ns.Instance(content := ns.Class(name)) if name is not None:
                                                               ^
Expected ":"
Run Code Online (Sandbox Code Playgroud)

不确定这在多大程度上相关,但 的定义Instance是:

case ns.Instance(content := ns.Class(name)) if name is not None:
                             ^^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

python python-3.x python-3.10

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

'for'vs.'in'-哪个更快?

在我的项目中,重要的是要知道

for i in a_list:
    if i == "foo":
        do stuff
        break
Run Code Online (Sandbox Code Playgroud)

比以下速度慢得多:

if "foo" in a_list:
    do stuff
Run Code Online (Sandbox Code Playgroud)

是吗?

python performance for-loop if-statement

-10
推荐指数
1
解决办法
99
查看次数