-2

我在本地机器上运行了一个程序,它使用了一些文件。我使用以下方法创建对文件的引用:os.path.join( tempfile.gettempdir(), 'filename.txt' )

之后,我正在运行一个程序,该程序接受一些参数--log-file filepath,其中文件路径是我刚刚在上面解释的文件之一。

在我的机器上,python 为路径创建了反斜杠,但没有创建双反斜杠,并且程序抱怨,因为它被认为是转义字符,应该是双反斜杠。

是否有任何标准方法可以确保我在 python 中获得带有双反斜杠的工作路径?我可以使用正则表达式,但我更喜欢类似于os.提供的东西。也许我错过了一些东西。

我正在使用以下方式调用程序subprocess.Popen

self._proc = subprocess.Popen( command.split( ' ' ) )

command类似的东西在哪里pcix.exe --log-file file_path

此外,在我的控制台上运行测试表明我的 python 不会为路径生成双反斜杠:

>>> print os.path.join(tempfile.gettempdir(), "test.txt")
c:\users\manilo~1\appdata\local\temp\test.txt

省略 print 命令会产生相同的路径:

>>> os.path.join(tempfile.gettempdir(), "test.txt")
c:\users\manilo~1\appdata\local\temp\test.txt

知道为什么吗?

PS我正在运行的平台是CPython

4

1 回答 1

-1

尝试:

print os.path.join(tempfile.gettempdir(), "test.txt").replace('\\\\','\\\\\\\\')
于 2013-03-22T17:13:47.527 回答