如何使用cygwin从posix切换到windows

时间:2011-10-13 09:27:58

标签: python cygwin

我正在编写一个正在cygwin中执行的python脚本。它做的一件事就是调用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 个答案:

答案 0 :(得分:3)

cygpath -w

您可以阅读手册页以获取更多开关。其中

  • -w for windows
  • -u for unix
  • -a for absolute path

你需要小心转义,确保path参数是一个shell字。

答案 1 :(得分:1)

您可以执行以下操作:

>>> 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