Python 无法导入函数名

Python 无法导入函数名,python,python-dateutil,Python,Python Dateutil,我的所有文件都在同一个目录中 我是python的新手,我正在尝试在预处理文件中编写函数,如: #Preprocessing file from dateutil import parser def dropOutcomeSubtype(DataFrame): DataFrame.drop('OutcomeSubtype',axis=1,inplace='True') def convertTimestampToTime(Serie): for i in range(0,len(

我的所有文件都在同一个目录中

我是python的新手,我正在尝试在预处理文件中编写函数,如:

#Preprocessing file
from dateutil import parser
def dropOutcomeSubtype(DataFrame):
    DataFrame.drop('OutcomeSubtype',axis=1,inplace='True')

def convertTimestampToTime(Serie):
    for i in range(0,len(Serie)):
        parser.parse(Serie[i]).time()
#Import external librairies 
import pandas as pd
import numpy as np
import re

#import our librairy
from Preprocessing import convertTimestampToTime, dropOutcomeSubtype

#Reading
Datas = pd.read_csv("../Csv/train.csv", sep=",", na_values=['NaN'])

dropOutcomeSubtype(Datas)
convertTimestampToTime(Datas.DateTime)
from Preprocessing import *
然后我尝试在导出文件中使用它,如下所示:

#Preprocessing file
from dateutil import parser
def dropOutcomeSubtype(DataFrame):
    DataFrame.drop('OutcomeSubtype',axis=1,inplace='True')

def convertTimestampToTime(Serie):
    for i in range(0,len(Serie)):
        parser.parse(Serie[i]).time()
#Import external librairies 
import pandas as pd
import numpy as np
import re

#import our librairy
from Preprocessing import convertTimestampToTime, dropOutcomeSubtype

#Reading
Datas = pd.read_csv("../Csv/train.csv", sep=",", na_values=['NaN'])

dropOutcomeSubtype(Datas)
convertTimestampToTime(Datas.DateTime)
from Preprocessing import *
当我尝试使用以下配置在OSX shell中运行代码时: Python 3.5.2 | Anaconda 4.2.0(x86_64)| IPython 5.1.0

我收到此错误:无法导入名称“convertTimestampToTime”

如果像这样更改我的导入语句:

#Preprocessing file
from dateutil import parser
def dropOutcomeSubtype(DataFrame):
    DataFrame.drop('OutcomeSubtype',axis=1,inplace='True')

def convertTimestampToTime(Serie):
    for i in range(0,len(Serie)):
        parser.parse(Serie[i]).time()
#Import external librairies 
import pandas as pd
import numpy as np
import re

#import our librairy
from Preprocessing import convertTimestampToTime, dropOutcomeSubtype

#Reading
Datas = pd.read_csv("../Csv/train.csv", sep=",", na_values=['NaN'])

dropOutcomeSubtype(Datas)
convertTimestampToTime(Datas.DateTime)
from Preprocessing import *
我得到这个错误:没有定义名称“convertTimestampToTime”

你能解释一下为什么吗


提前感谢

在这种情况下,您可以将mod path添加到sys.path。如果两者在同一目录中,则在主代码的第一个添加此代码

import os
import sys
here = os.path.abspath(os.path.dirname(__file__))
sys.path.append(here)

它在“当前工作目录”中搜索
Preprocessing.py
,它可以不同于带有脚本的文件夹。如果在CWD(当前工作目录)中找不到,则尝试导入已安装的模块-尝试
import Preprocessing
print(Preprocessing.\uuuuu file\uuuuu)
以查看导入的文件。@furas等等?我不明白你的意思。您建议我怎么做?首先尝试
导入预处理
打印(预处理.\uuuu文件uuuu)
,看看导入了什么文件。@furas它给了我这个:/Users/SIMON/Desktop/Tx/Script/Preprocessing.py我试过了,但不起作用。感谢您的回答也许您必须使用
insert(0,此处)
而不是
append(此处)
将此文件夹放在其他文件夹之前,这些文件夹也可以包含文件
Preprocessing.py