2017-05-16 3 views
0

Ich versuche derzeit, Funktion aus einer anderen .py-Datei zu laden. Ich habe im selben Ordner: algo.py und test_algo.py. Ich brauche alle Funktionen zum Importieren von in test_algo algo so verwende ich den Befehl:Alte Version eines Skripts wird importiert mit Python importiert

from algo import *

Der Import ist erfolgreich jedoch eine Funktion do_sthg() 3 Argumente in algo nimmt aber die importierte Version erfordert vier Argumente, die der Fall war in eine sehr alte Version des Codes. Ich habe alle .py ~ verwandten Dateien gelöscht und es gibt keine anderen Skripte mit dem Namen algo auf meinem Computer. Wie ist das möglich und wie kann ich dieses Problem lösen?

(Ich kann nicht die vollen Links zu meinem Skript angeben, wie sie im Laufe der Zeit ändern sollten, ich bin mit Version 2.7 von Python)

Jede Hilfe würde geschätzt.

+0

Können Sie einen Beispielcode angeben, der das verursacht? – randomdude999

+0

Können Sie die Traceback teilen. –

+0

Versuchen Sie 'import algo', dann' print algo', sollte es den Namen der Datei, aus der das Modul geladen wurde, drucken. 'import sys' und dann' sys.path drucken' in ernsthaften Zweifeln. Auch "rm * .pyc" nur für den Fall. – 9000

Antwort

0

Ich konnte nicht feststellen, wo das Problem war, also habe ich nur den vollständigen Pfad mit dem Befehl getcwd von os angegeben. Es hat soweit geklappt. Es bedeutet, dass ich irgendwo eine versteckte .pyc oder .py ~ Datei haben muss.

0

Sie sollten immer Dateien in ihrem eigenen Namespace importieren. Sie sollten verwenden

import algo 
import test_algo as algoT 

print(algo.do_sthg(p1, p2, p3)) 
print(algoT.do_sthg()) 

Auf diese Weise können Sie die Ergebnisse von verschiedenen Dateien trennen. Wenn Sie iPython verwenden, müssen Sie auch exit() und starten Sie es erneut.

Verwandte Themen