如何为python脚本的Linux路径推广/获取基目录

时间:2016-10-08 13:43:13

标签: python

Bash中的

(Linux)我可以使用variableName = cd $ BASEDIR。/ Desktop来替换HOME / userName / Destop。我怎样才能在Python中实现相同的目标?

实施例:         需要将home / name替换为通用,以便我可以从多个主机运行它。     f = open(“home / name / directory / subdirectory / file.cfg”,“r”)

3 个答案:

答案 0 :(得分:1)

您可能会使用os.path.expanduseros.path.expandvars

>>> import os
>>> os.path.expanduser('~/Desktop')
'/home/userName/Desktop'

或者,假设您的环境中定义了$BASEDIR

>>> import os
>>> os.path.expandvars('$BASEDIR/Desktop')
'/home/userName/Desktop'

使用第一个选项,也许你可以做你想做的事情:

f = open(os.path.expanduser("~/directory/subdirectory/file.cfg"), "r")

答案 1 :(得分:1)

您可以直接从os.environ读取环境变量:

import os
basedir = os.environ.get('BASEDIR')

为了可靠地构建路径,os模块提供os.path.join。如果变量未定义,您还应提供后备。这看起来像这样:

import os
my_path = os.path.expanduser(os.path.join(
    os.environ.get('BASEDIR', '~'),  # default to HOME
    'Desktop'
)

请注意,环境变量可能不是最理想的解决方案。查看参数,例如通过argparse module

答案 2 :(得分:0)

尝试使用命令libray。

import commands

commands.getoutput("cd $BASEDIR./Desktop")