file.py
enthält eine Funktion namens function
. Wie importiere ich sie?
from file.py import function(a,b)
Das obige führt zu einem Fehler:
ImportError: Kein Modul namens 'file.py'; Datei ist kein Paket
file.py
enthält eine Funktion namens function
. Wie importiere ich sie?
from file.py import function(a,b)
Das obige führt zu einem Fehler:
ImportError: Kein Modul namens 'file.py'; Datei ist kein Paket
Zuerst, importiere function
aus file.py
:
from file import function
Rufe die Funktion später mit folgendem Code auf:
function(a, b)
Beachte, dass file
eines der Kernmodule von Python ist, daher empfehle ich, den Dateinamen von file.py
in etwas anderes zu ändern.
Beachte auch, dass wenn du Funktionen aus a.py
in eine Datei namens b.py
importieren möchtest, musst du sicherstellen, dass a.py
und b.py
im selben Verzeichnis sind.
Wenn sich Ihre Datei in einer anderen Paketstruktur befindet und Sie sie aus einem anderen Paket aufrufen möchten, können Sie dies auf diese Weise tun:
Angenommen, Sie haben folgende Paketstruktur in Ihrem Python-Projekt:
in - com.my.func.DifferentFunction
Python-Datei haben Sie einige Funktionen, wie:
def add(arg1, arg2):
return arg1 + arg2
def sub(arg1, arg2) :
return arg1 - arg2
def mul(arg1, arg2) :
return arg1 * arg2
Und wenn Sie verschiedene Funktionen aus der Datei Example3.py
aufrufen möchten, können Sie dies folgendermaßen tun:
Definieren Sie die Importanweisung in der Datei Example3.py
, um alle Funktionen zu importieren
from com.my.func.DifferentFunction import *
oder definieren Sie jeden Funktionsnamen, den Sie importieren möchten
from com.my.func.DifferentFunction import add, sub, mul
Dann können Sie in der Datei Example3.py
die Funktion zur Ausführung aufrufen:
num1 = 20
num2 = 10
print("\n add : ", add(num1,num2))
print("\n sub : ", sub(num1,num2))
print("\n mul : ", mul(num1,num2))
Ausgabe:
add : 30
sub : 10
mul : 200
Sie können die Funktion auch aus einem anderen Verzeichnis heraus aufrufen, falls Sie die Funktion nicht im selben Verzeichnis haben wollen oder können, in dem Sie arbeiten. Sie können dies auf zwei Arten tun (vielleicht gibt es mehr Alternativen, aber diese haben für mich funktioniert).
Alternative 1 Vorübergehend das Arbeitsverzeichnis ändern
import os
os.chdir("**Hier das Verzeichnis angeben, in dem sich die Datei mit Ihrer Funktion befindet**")
from file import function
os.chdir("**Hier das Verzeichnis angeben, in dem Sie gearbeitet haben**")
Alternative 2 Das Verzeichnis, in dem sich Ihre Funktion befindet, zu sys.path hinzufügen
import sys
sys.path.append("**Hier das Verzeichnis angeben, in dem sich die Datei mit Ihrer Funktion befindet**")
from file import function
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.