如何获得依赖于shell的cwd格式



由于我同时使用Windows的cmd.exe和msysgit的bash,尝试访问os.getcwd()输出的Windows路径会导致Python尝试访问以驱动器号和冒号开头的路径,例如C:bash正确地确定了一个无效的unix路径,在本例中应该以/c/开头。但是,如果脚本在bash中运行,我如何修改Windows路径以使其成为msys等效路径?

很难看,但应该可以工作,除非您为Windows:创建环境变量SHELL=bash

def msysfy(dirname):
    import os
    try:
        shell = os.environ['SHELL']
    except KeyError:  # by default, cmd.exe has no SHELL variable
        shell = 'win'
    if os.path.basename(shell)=='bash' and dirname[1] == ':':
        return '/' + dirname[0].lower() + '/' + dirname[2:]
        # don't worry about the other backslashes, msys handles them
    else:
        return dirname

相关内容

  • 没有找到相关文章

最新更新