我試圖從所謂的「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)
您不應該在原始字符串中使用雙反斜槓。使用'r'字符串或使用雙反斜槓,但不能同時使用兩者。 (儘管Windows使用雙反斜槓接受文件路徑,但任何讀取您的代碼的人都會感到困惑。) –
嘗試從ES_15M_Trend_Identifier導入*' –
嘿,我嘗試了您製作Davy的建議,不幸的是它帶來了錯誤上面編輯的帖子。並且該功能完美地運行在原始文件中,因此我不確定發生了什麼 –