поляна и pygtk (вероятно, проблема с кодировкой?)

Я борюсь с проблемой, которая действительно сводит меня с ума. Я установил Pygtk-all-in-one Bundle версии 2.24.2 для Python 2.7 [1] и Python 2.7.5 [2].

Теперь я хочу использовать gtk.builder для загрузки файла поляны.

Мой файл Python выглядит так:

#!/usr/bin/python
#-*- coding: utf-8 -*-

import sys
import gtk

import gtk.glade

class  QueryRelevanceEvaluationApp:

    def __init__(self):
        builder = gtk.Builder()
        builder.add_from_file("C:\blubb.glade")
        builder.connect_signals(self)

app = QueryRelevanceEvaluationApp()
gtk.main()

Мой файл поляны выглядит так:

<?xml version="1.0" encoding="UTF-8"?>
<interface>
  <requires lib="gtk+" version="2.16"/>
  <!-- interface-naming-policy project-wide -->
  <object class="GtkWindow" id="window1">
    <property name="can_focus">False</property>
    <child>
      <placeholder/>
    </child>
  </object>
</interface>

Если я запускаю приложение, я получаю следующую ошибку:

Process started >>>
Traceback (most recent call last):
  File "C:\Users\Bernhard\Documents\test\base2.py", line 16, in <module>
    app = QueryRelevanceEvaluationApp()
  File "C:\Users\Bernhard\Documents\test\base2.py", line 13, in __init__
    builder.add_from_file("C:\blubb.glade")
glib.GError: Datei ┬╗Clubb.glade┬½ konnte nicht ge├Âffnet werden: Invalid argument

Однако, если я переименую "blubb.glade" в "hallo-welt2.ui", все будет работать нормально. Я относительно новичок в Python, поэтому я действительно не знаю, в чем проблема. Сначала я подумал, что что-то не так с моей установкой Pygtk, но затем я обнаружил странное поведение, что после переименования файла все работает нормально. Поэтому я думаю, что, возможно, что-то еще (кодировка?) вызывает проблему. Я работаю на 64-битной машине с Windows 7 (язык системы — немецкий).

Было бы очень хорошо, если бы кто-нибудь мог подсказать мне, как я могу решить эту проблему.

Заранее спасибо!

Привет из Австрии

[1] http://ftp.gnome.org/pub/GNOME/binaries/win32/pygtk/2.24/pygtk-all-in-one-2.24.2.win32-py2.7.msi

[2] http://www.python.org/download/releases/2.7.5/


person user2494129    schedule 18.06.2013    source источник


Ответы (1)


\b — символ возврата, AFAIR; вы должны избежать обратной косой черты:

>>> print "C:\blubb.glade"
Clubb.glade
>>> print "C:\\blubb.glade"
C:\blubb.glade
person barti_ddu    schedule 19.06.2013