0

cmd.exeWindowsとの両方を使用しているためbash、Windows パスの出力にアクセスしようとするos.getcwd()と、Python はドライブ文字とコロンで始まるパスにアクセスしようとします。たとえば、無効な unix パスC:\を正しく判断します。bash代わりに/c/、この例で開始する必要があります。しかし、スクリプトが 内で実行されている場合、Windows パスを変更してに相当するものにするにはどうすればよいですか?bash

4

1 に答える 1

0

SHELL=bash見苦しいですが、Windows 用の環境変数を作成しない限り動作するはずです:

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
于 2016-05-18T08:02:58.653 に答える