我的程序有下一个结构:
|---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")) 但它确实有效。
有什么想法吗?
答案 0 :(得分:1)
这有效
def load():
filedir, _ = os.path.split(__file__)
arch = pd.read_csv(os.path.join(filedir, 'read.csv'))
print arch