我正在尝试从python脚本中读取文件。 我的文件结构如下:
code
- scripts
-myscript.py
- .env
在.env中,我有我的配置。
我正在尝试在myscript.py中读取此文件
我做了以下阅读:
envfile = open("../.env", "r")
现在,当我从scripts目录运行此python脚本时,它运行正常
这很好:
cd /var/www/html/code/scripts
python myscript.py
但如果我这样做:
cd
python /var/www/html/code/scripts/myscript.py
不起作用并给出IOError:[Errno 2]没有这样的文件或目录:'../。env'
如果在终端中通过绝对路径或相对路径,如何使其运行?
答案 0 :(得分:1)
您可以使用pathlib2:
from pathlib import Path
path = Path(__file__).resolve().parents[1].joinpath(".env")
envfile = open(path)
答案 1 :(得分:0)
import os
p = os.path.realpath(__file__)
envfile = open('/'.join(p.split('/')[:-1])+'/../.env')
也可以