2017-05-16 89 views
0

我目前正在嘗試從另一個.py文件加載功能。我有同一個文件夾:algo.py和test_algo.py。我需要從test_algo算法中導入所有功能,所以我用命令:舊版本的腳本是使用Python導入導入的

from algo import *

進口是成功的但是一個功能do_sthg()接受3個參數的算法中,但進口版需要4個論點是在的情況下一個非常老的代碼版本。我刪除了所有與.py有關的文件,並且在我的電腦上沒有任何其他具有名稱算法的腳本。這怎麼可能,我該如何解決這個問題?

(我不能指定完整的鏈接到我的劇本,它應該隨着時間而改變,我使用2.7版本的Python)

任何幫助,將不勝感激。

+0

您能否提供一些導致此問題的示例代碼? – randomdude999

+0

你可以分享回溯... –

+0

嘗試'導入算法',然後'打印算法',它應該打印從中加載模塊的文件的名稱。 'import sys' then'print sys.path' in serious doubt。另外,'rm * .pyc'以防萬一。 – 9000

回答

0

我還沒有能夠確定問題出在哪裏,所以我只是使用命令getcwd從os中指定完整路徑。到目前爲止它已經工作。這意味着我必須有一個隱藏的.pyc或.py〜文件。

0

您應該始終在自己的名稱空間中導入文件。你應該使用

import algo 
import test_algo as algoT 

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

這樣你就可以隔離來自不同文件的結果。另外,如果您使用iPython,則需要exit()並重新啓動它。