Hallo,
ich würde gerne ein Pythonprogramm schreiben, dass über eine Eingabe eine Codeergänzung des Programmes im Programm erzeugt und dann ausführt. Geht das?
Code einss Programms ergänzen
@Brando: Das kommt darauf an was Du damit genau meinst. Schau Dir mal die `compile()`-Funktion und die ``exec``-Anweisung an.
Ich würde gern ein Pythonprogramm schreiben, welches ein return bspw. eine Matrix hat. Dann soll in einem anderen Pythonprogramm dieses Programm genutzt werden, wobei als Übergabeparameter das erste Pythonprogramm gegeben wird, dieses dann mit einem import im zweiten verzeichnet werden, und ausgeführt werden. Das zweite Pythonprogramm stellt dann die Matrix dar. Kann ich import Anweisungen festlegen, indem ich Übergabeparameter nutze, oder muss ich anders vorgehen?
@Brando: was Du suchst, sind Funktionen. Du kannst ein einem Modul (der richtige Name für importiertes Programm) Funktionen definieren, die Du aus einem anderen Modul heraus aufrufen kannst, indem Du ersteres importierst.
Das Problem ist, dass der Modulname wechseln kann. D.h. der import müsste wechselnde Namen haben, je nach Übergabeparameter in dem Darstellungsprogramm. Kann ich den import mit einem Variablennamen leisten, der im Darstellungsprogramm übergeben wird?
Hallo, also ich habe folgendes gemacht: Ein Programm mit dem Namen matrix_mult_module.py mit folgendem Code:
Dann habe ich ein Programm in dem ich der Variable i_modul die Zeichenkette "matrix_mult_module.py" zuordne, und auch einen Import durchgeführt:
x[0] und x[1] sind zwei mal zwei Matrizen. Allerdings funktioniert der Code nicht. Es kommt folgende Fehlermeldung:
ImportError: No module named 'matrix_mult_module'
Ich arbeite mit Jupyter Notebook, und habe mein Programmmodule matrix_mult_module.py unter dem gleichen Ordner gespeichert, wie das Programm, welches das Modul nutzen soll. Was habe ich falsch gemacht? Ist der Speicherort der richtige? Ist die py Endung richtig? Habe ich im ausführenden Programm die richtigen Aufrufe und Methodenzuweisungen gemacht?
Code: Alles auswählen
from sympy.matrices import *
def rechne(A,B):
z=A*B
return z
Code: Alles auswählen
i_progr=import_module(i_modul)
z=i_progr.rechne(x[0],x[1])
w=widgets.Textarea(
description='Matrix',
value = str(z),
)
display(w)
ImportError: No module named 'matrix_mult_module'
Ich arbeite mit Jupyter Notebook, und habe mein Programmmodule matrix_mult_module.py unter dem gleichen Ordner gespeichert, wie das Programm, welches das Modul nutzen soll. Was habe ich falsch gemacht? Ist der Speicherort der richtige? Ist die py Endung richtig? Habe ich im ausführenden Programm die richtigen Aufrufe und Methodenzuweisungen gemacht?
Der Suchpfad muss eingetragen sein, da ja auch alle anderen Programme, die ich dort laufen lasse in diesem Pfad sind. Aber ist denn mein Programmansatz korrekt, insbesondere der Aufruf des Moduls? Den Error kann ich mir nicht erklären, soll ich vielleicht den Namen der Datei ohne py Endung übergeben. Zudem übergebe ich den Namen als String, muss ich vielleicht, wenn ich das Modul aktiviere etwas beachten, was das betrifft?