从python2.7的一个向上目录中读取文件

时间:2019-09-10 23:57:52

标签: python bash python-2.7

我正在尝试从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'

如果在终端中通过绝对路径或相对路径,如何使其运行?

2 个答案:

答案 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')

也可以