2017-06-03 55 views
0

我試圖從所謂的「run_ES_15M_Trend_Identifier」另一個文件調用一個函數:Python中調用另一個文件中的函數 - 錯誤

import sys 
import os 
sys.path.append(os.path.abspath(r"C:\Users\cost9\OneDrive\Documents\PYTHON\Daily Tasks\Individual Trading\ES")) 


from ES_15M_Trend_Identifier import run_ES_15M_Trend_Identifier 

所以上面的功能來自於ES_15M_Trend_Identifier PY文件。我只是從它自己的目錄中運行該文件,它工作得很好 - 修改數據幀,發送到csv。所以錯誤不是來自函數本身。相反,我得到的錯誤:

ImportError: cannot import name run_ES_15M_Trend_Identifier 

我知道有可能是一個循環從其他SO帖子這個過程中,但我不知道如何解決它。

編輯:我也試着:

from ES_15M_Trend_Identifier import * 

run_ES_15M_Trend_Identifier() 

這給錯誤:

NameError: name 'run_ES_15M_Trend_Identifier' is not defined 

編輯:這裏的功能,當我在自己的文件中運行它的工作原理:

def run_ES_15M_Trend_Identifier(): 
    # Do stuff to pandas dataframe, including some for loops that fill out additional columns - this function works on the original file  
    path_to_csv = "C:\\Users\\cost9\\OneDrive\\Documents\\PYTHON\\Daily Tasks\\Individual Trading\\ES\CSV\\15M\\Trend_Identifier\\ES_15M_Summary.csv" 
    ES_15M_Summary_Reduced.to_csv(path_or_buf = path_to_csv) 

The two files are in the same directory

enter image description here

+0

您不應該在原始字符串中使用雙反斜槓。使用'r'字符串或使用雙反斜槓,但不能同時使用兩者。 (儘管Windows使用雙反斜槓接受文件路徑,但任何讀取您的代碼的人都會感到困惑。) –

+0

嘗試從ES_15M_Trend_Identifier導入*' –

+0

嘿,我嘗試了您製作Davy的建議,不幸的是它帶來了錯誤上面編輯的帖子。並且該功能完美地運行在原始文件中,因此我不確定發生了什麼 –

回答

1

這兩個文件都在同一個目錄中嗎?如果沒有把這兩個文件放在同一個文件夾中!

+0

嗨,他們在同一個目錄 - C:\ Users \ cost9 \ OneDrive \ Documents \ PYTHON \ Daily Tasks \ Individual Trading \ ES –

+0

當您評論sys.path.append行時會發生什麼? –

相關問題