自定义python函数所在的Access文件夹

时间:2016-10-05 23:22:36

标签: python

如何访问python函数所在的文件夹?

例如,假设我有一个N乘2的数据数组。第一列是自变量,第二列是因变量。我需要使用不同的自变量数组来插入这些数据,该自变量的范围包含在原始自变量中。此过程用于具有不同变量范围的多个不同代码,因此我不希望将此数据文件复制到多个位置。我想编写一个实现此功能的单个函数,其中包含函数本身的文件夹中的单个数据副本。

我的示例尝试是:

import numpy as np
from scipy.interpolate import splev, splrep

def function(some_array):
    filepath = './file_path_in_the_function_folder.txt'
    some_data = np.loadtxt(filepath)

    interpolated_data = splev(some_array, splrep(some_data[:,0], some_data[:,1]))

    return interpolated_data

然而,' ./'无法识别函数的位置,而是指向导入函数的脚本的当前工作目录。我该如何规避这个问题?

1 个答案:

答案 0 :(得分:1)

像这样:

import os

my_dir = os.path.dirname(__file__)
fname = 'file_path_in_the_function_folder.txt'
filepath = os.path.join(my_dir, fname)

data model中所述,您可以使用__file__名称来获取当前模块的路径。在Python 3.4+中,它是一个绝对的路径,对于早期版本,你不能轻易知道它是绝对的还是相对的 - 但你通常也不需要关心。