как перейти с posix на windows с помощью cygwin - PullRequest
3 голосов
/ 13 октября 2011

я пишу скрипт на python, который выполняется в cygwin. одна из вещей, которую он делает, вызывает pg_dump и передает ему имя файла. моя проблема, python / cygwin передает ему путь posix, а версия pg_dump для windows не знает, что с ним делать. Есть ли что-то, что я могу вызвать, чтобы преобразовать мой путь posix в путь Windows?

я хочу преобразовать этот путь

/cygdrive/c/Users/me/Code/myproj/pyBuildScript/src/snapshooter/working/sso.sql

до

c:\Users\me\Code\myproj\pyBuildScript\src\snapshooter\working\sso.sql

Ответы [ 2 ]

3 голосов
/ 13 октября 2011
cygpath -w

Вы можете прочитать страницу руководства для большего количества переключателей.Среди них

  • -w для windows
  • -u для unix
  • -a для абсолютного пути

Вы должны быть осторожныпри экранировании убедитесь, что аргумент пути представляет собой одно слово оболочки.

1 голос
/ 13 октября 2011

Вы можете сделать следующее:

>>> posix_str = "/cygdrive/c/Users/me/Code/myproj/pyBuildScript/src/snapshooter/working/sso.sql"
>>> nt_str = "C:" + posix_str[11:]
>>> nt_str = nt_str.replace("/", "\\")
>>> print nt_str
C:\Users\me\Code\myproj\pyBuildScript\src\snapshooter\working\sso.sql
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...