用Python处理公共文件
我有一个严重依赖数据库凭据的项目,可以方便地将它们放在一个位置,但我有许多子文件夹需要导入该文件。通过大量的搜索,似乎有很多(次优/过于复杂)的方法可以做到这一点,但我想知道在多个目录中包含一个文件的最简单方法是什么用Python处理公共文件,python,python-2.7,Python,Python 2.7,我有一个严重依赖数据库凭据的项目,可以方便地将它们放在一个位置,但我有许多子文件夹需要导入该文件。通过大量的搜索,似乎有很多(次优/过于复杂)的方法可以做到这一点,但我想知道在多个目录中包含一个文件的最简单方法是什么 project/ credentials.py task1/ fileA.py task2/ fileB.py 其中credentials.py如下所示: database = "my_database" database_us
project/
credentials.py
task1/
fileA.py
task2/
fileB.py
其中credentials.py
如下所示:
database = "my_database"
database_user = "me"
database_password = "password"
在fileA.py
和fileB.py
中导入credentials.py
内容的最佳方法是什么?有没有一种完全不同的更好的方式来组织这个项目
编辑:是否有一种方法可以实现这一点,使我从哪个目录运行每个任务都无关紧要?您只需将
导出PYTHONPATH=$PYTHONPATH:/path/to/directory/with/credentials
添加到~/.bashrc
,重新打开shell,然后使用导入凭据即可
这是假设您的系统是基于UNIX的系统
对于windows,说明您可以添加set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib
到您的autoexec.bat
文件msconfig
是此文件的图形界面。我今天碰巧遇到了同样的问题。可以在fileA.py和fileB.py中插入以下内容:
import sys, os
# prepend parent directory to path
sys.path = [os.path.join(os.path.dirname(__file__), os.pardir)] + sys.path
import credentials
你退房了吗?的确是这样。我试图通过基本上创建一个凭证
模块来解决这个问题,但我无法使其正常工作。也许发布一个关于为什么不能使其正常工作的问题会对您更有利我想您是想说我应该将项目
视为一个包,每个任务和凭证都是模块吗?哎呀,打字很匆忙。谢谢,我现在已经更正了。虽然这是可行的,但我觉得在多开发者环境中工作是相当复杂的。