【发布时间】:2016-11-30 22:45:12
【问题描述】:
这是我尝试构建专业结构/层次结构的第一个 python 项目。我有以下目录结构:
project/
---__init__.py
---main.py
---data_lib/
------__init__.py
------load.py
------file.csv
load.py中的代码是:
import pandas as pd
def load_csv():
print pd.read_csv('file.csv')
if __name__=='__main__':
load_csv()
main.py中的代码是:
from data_lib.load import load_csv
load_csv()
当 load.py 自行运行时,我会打印出已加载 csv 文件的 pandas 数据框。运行 main.py 时出现错误 IOError: File file.csv 不存在。我可以通过在“file.csv”之前添加一个路径前缀来解决这个问题:
if __name__=='__main__':
path_prefix=''
else:
path_prefix='data_lib/'
这是标准的解决方案和编程实践,还是我应该避免这种情况并做其他事情(尤其是因为 csv 文件需要定期更新而不会影响任何其他代码文件)?
【问题讨论】: