有没有一种方法可以在python中指定包中所有脚本可用的BASE_DIR设置?

时间:2019-03-14 12:00:08

标签: python

我有一个脚本正在将输出写入文件。

问题在于,它将根据调用位置将文件写入不同的位置。

是否可以设置filter_size = 5 channel_size = 1 num_filters = 10 filter_shape = [filter_size, channel_size, num_filters] filters = tf.Variable(tf.truncated_normal(filter_shape, stddev=0.1), name="filters") tf.nn.conv1d(value=input, filters=filters, stride=1) 设置,以便此软件包中的所有脚本都将文件写入单个位置?

我尝试将其初始化为项目的根目录下的BASE_DIR

__init__.py

在我的测试中,该代码未按以下方式运行:

import os

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

2 个答案:

答案 0 :(得分:2)

我相信您只需要在使用它的每个模块中导入BASE_DIR变量即可。

如果“ my_pkg ”是软件包的根目录,则应该执行以下操作:

my_pkg / __ init __。py:

BASE_DIR = ... # as you have


my_pkg / some_module.py:

from my_pkg import BASE_DIR 

答案 1 :(得分:0)

假设您的包裹名称是mypackage。将wmctrl添加到BASE_DIR之后,您仍然需要在mypackage中每个脚本的顶部添加以下行:

mypackage/__init__.py

这样,您可以从包中的每个脚本访问from mypackage import BASE_DIR