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