我的程序有一个结构:追加路径的Python程序
|---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”)) 但它没有工作。
有什么想法?
你必须使用绝对路径而不是相对路径。我建议让'load'每次都有一个路径参数并传入一个绝对路径。 –
你的主目录中是否有'__init __。py'? – DataHerder
是的,我在家里有__init__.py –