我在本地计算机上运行了一个使用某些文件的程序。我使用:os.path.join( tempfile.gettempdir(), 'filename.txt' )
之后我运行了一个接受一些参数--log-file filepath
的程序,其中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
知道为什么吗?
P.S。我正在运行的平台是CPython
答案 0 :(得分:-1)
尝试:
print os.path.join(tempfile.gettempdir(), "test.txt").replace('\\\\','\\\\\\\\')