Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[python] kan eigen class niet importeren uit andere file

Pagina: 1
Acties:

  • williewonka03
  • Registratie: Augustus 2010
  • Laatst online: 16-06-2024
hallo allemaal,

ik heb momenteel een file gui.py waar mijn gui stuff instaat. deze is gemaakt mbv qtdesigner en dan geconverteert naar py.
probleem is allen als ik in mijn main.py het aanroep met
code:
1
import gui

of
code:
1
import gui.py

ik altijd deze error krijg:
code:
1
2
3
4
Traceback (most recent call last):
  File "D:/PycharmProjects/guitest/main.py", line 6, in <module>
    import gui
TypeError: source code string cannot contain null bytes

heel erg vreemd. ik dacht laat ik even de naam veranderen voor het geval het een standaardnaam is ofzo. dat helpt dus niet.
ik heb gegoogled naar hoe je een eigen file importeert en dat doe ik gewoon goed. en ja er staat gewoon een class in die file.
iemand ideeën wat ik fout doe?

  • OxiMoron
  • Registratie: November 2001
  • Laatst online: 08-07 14:27
Lijkt mij dat de fout in de gui.py file zit.

Albert Einstein: A question that sometime drives me hazy: Am I or are the others crazy?


  • williewonka03
  • Registratie: Augustus 2010
  • Laatst online: 16-06-2024
ja maar heb geen idee wat dan. de file is gewoon een class met 2 functies erin en import zelf dingen.
dit is de inhoud:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'mainwindow.ui'
#
# Created: Fri Nov  8 21:32:07 2013
#      by: pyside-uic 0.2.15 running on PySide 1.2.1
#
# WARNING! All changes made in this file will be lost!

from PySide import QtCore, QtGui

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(224, 69)
        self.centralwidget = QtGui.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.bt_OK = QtGui.QPushButton(self.centralwidget)
        self.bt_OK.setGeometry(QtCore.QRect(130, 20, 75, 23))
        self.bt_OK.setObjectName("bt_OK")
        self.txt_input1 = QtGui.QLineEdit(self.centralwidget)
        self.txt_input1.setGeometry(QtCore.QRect(10, 20, 113, 20))
        self.txt_input1.setObjectName("txt_input1")
        MainWindow.setCentralWidget(self.centralwidget)
        self.statusbar = QtGui.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
        MainWindow.setTabOrder(self.txt_input1, self.bt_OK)

    def retranslateUi(self, MainWindow):
        MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "GuiTest1", None, QtGui.QApplication.UnicodeUTF8))
        self.bt_OK.setText(QtGui.QApplication.translate("MainWindow", "OK", None, QtGui.QApplication.UnicodeUTF8))
        self.txt_input1.setPlaceholderText(QtGui.QApplication.translate("MainWindow", "typ here", None, QtGui.QApplication.UnicodeUTF8))

  • DXaroth
  • Registratie: Maart 2011
  • Laatst online: 24-08 19:58
TypeError: source code string cannot contain null bytes
dat is je grote probleem.

also, als je bestand gui.py is, import je gui .. de . in imports is de module separator, dus gui/file.py is import gui.file

ik zou adviseren om de content van het bestand te dumpen in notepad, en dan opnieuw op te slaan, werkt dat niet, dan delen van de code er uit slopen tot het werkt.. er zit waarzijnlijk een letter ergens (een null byte, waar hij om zeurt), en python vind dat niet fijn.

  • williewonka03
  • Registratie: Augustus 2010
  • Laatst online: 16-06-2024
DXaroth schreef op zaterdag 09 november 2013 @ 01:24:
[...]

dat is je grote probleem.

also, als je bestand gui.py is, import je gui .. de . in imports is de module separator, dus gui/file.py is import gui.file

ik zou adviseren om de content van het bestand te dumpen in notepad, en dan opnieuw op te slaan, werkt dat niet, dan delen van de code er uit slopen tot het werkt.. er zit waarzijnlijk een letter ergens (een null byte, waar hij om zeurt), en python vind dat niet fijn.
dankjewel dat heeft het idd gefixed. heb het naar npp geplakt en specifiek naar utf-8 gezet en nou zeurt ie niet meer. heb nu wel weer een ander probleem met deze code maar dat is niet OT

  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

Hij is generated die file, dus ik denk dat hij een null-terminated string in zijn geheel naar disk heeft geschreven. Waarschijnlijk was het laatste karakter dus een '\0'
Pagina: 1