【问题标题】:Expanding Environment variable in string using python [duplicate]使用python扩展字符串中的环境变量[重复]
【发布时间】:2011-07-12 15:11:48
【问题描述】:

我有一个包含环境变量的字符串,例如

my_path = '$HOME/dir/dir2'

我想解析字符串,查找变量并在字符串中替换它:

print "HOME =",os.environ['HOME']
my_expanded_path = parse_string(my_path)
print "PATH =", my_expanded_path

所以我应该看到输出:

HOME = /home/user1

PATH = /home/user1/dir/dir2

在 Python 中有没有一种优雅的方式来做到这一点?

谢谢!

康纳

【问题讨论】:

    标签: python posix


    【解决方案1】:

    【讨论】:

    • 奇怪的是它在os.path,考虑到环境变量不仅仅用于文件系统路径元素。我想我可以使用os.path.expandvars('%username%') 而不是getpass.getuser()
    【解决方案2】:
    import string, os
    my_path = '$HOME/dir/dir2'
    print string.Template(my_path).substitute(os.environ)
    

    【讨论】:

      【解决方案3】:

      你可以使用Template:

      from string import Template
      import os
      
      t = Template("$HOME/dir/dir2")
      result = t.substitute(os.environ)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-30
        • 1970-01-01
        • 1970-01-01
        • 2020-10-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多