【问题标题】:Python calling a function from another file - errorPython从另一个文件调用函数 - 错误
【发布时间】:2017-11-04 17:37:03
【问题描述】:

我正在尝试从另一个名为“run_ES_15M_Trend_Identifier”的文件中调用一个函数:

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.py 文件。它是否确实定义了名为 run_ES_15M_Trend_Identifier 的东西?
  • 嘿丹尼尔,好的,我更新了
  • 没有类,我从中导入的另一个文件中唯一的其他文本(除了上面的函数)是 import pandas as pd.等

标签: python csv pandas import


【解决方案1】:

两个文件是否在同一个目录中?如果不将两个文件放在同一个文件夹中!

【讨论】:

  • 您好,它们在同一个目录中 - C:\Users\cost9\OneDrive\Documents\PYTHON\Daily Tasks\Individual Trading\ES
  • 当你评论 sys.path.append 行时会发生什么?
猜你喜欢
  • 2021-08-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-17
  • 2013-06-16
  • 1970-01-01
相关资源
最近更新 更多