将路径附加到 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
我的程序有下一个结构:
|---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