(Linux)我可以使用variableName = cd $ BASEDIR。/ Desktop来替换HOME / userName / Destop。我怎样才能在Python中实现相同的目标?
实施例: 需要将home / name替换为通用,以便我可以从多个主机运行它。 f = open(“home / name / directory / subdirectory / file.cfg”,“r”)
答案 0 :(得分:1)
您可能会使用os.path.expanduser
或os.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")