将路径附加到 python 程序

Append path to python program

我的程序有下一个结构:

|---main.py
|---home
      |----read.csv
      |----importer.py

main.py 有下一个代码:

from home import importer as imp
imp.load()

importer.py 有下一个代码:

import pandas as pd
import sys


def load():
    arch = pd.read_csv("read.csv")
    print arch


if __name__ == '__main__':
    load()

和read.csv是任何csv,例如

h,k
3,4
5,6

当我运行importer.py时,运行没问题,那是因为read.csv在当前路径

但是当我尝试 运行 main.py 时,它会抛出异常,因为它找不到 read.csv。 因为read.csv不在当前路径中

我需要它在两种模式下都能工作,解决方案是将主路径附加到 python 主程序。

我试过这样做 sys.path.append(os.path.join(os.getcwd(), "home")) 但是没用。

有什么想法吗?

这个有效

def load():
    filedir, _ = os.path.split(__file__)
    arch = pd.read_csv(os.path.join(filedir, 'read.csv'))
    print arch