-2
我有我的本地机器上运行一个程序,它使用了一些文件。我通过创建参考文件:os.path.join(tempfile.gettempdir(), 'filename.txt')
蟒蛇和Windows双反斜线
在那之后我运行它接受一些参数--log-file filepath
其中filepath是我刚才上面解释了文件中的一个项目。
在我的机器蟒蛇创建的路径反斜杠而不是双反斜线和程序抱怨,因为它被认为是一个转义字符,应该是一个双反斜线。
是否有确保我得到与蟒蛇双反斜线工作路径的任何标准的方式?我可以使用正则表达式,但我更喜欢类似os.
提供的东西。也许我错过了一些东西。
我打电话使用subprocess.Popen
程序:
self._proc = subprocess.Popen(command.split(' '))
其中command
是一样的东西pcix.exe --log-file file_path
而且,我的控制台上运行的测试表明我的蟒蛇不会产生双反斜线路径:
>>> print os.path.join(tempfile.gettempdir(), "test.txt")
c:\users\manilo~1\appdata\local\temp\test.txt
退出原稿t命令产生相同的路径:
>>> os.path.join(tempfile.gettempdir(), "test.txt")
c:\users\manilo~1\appdata\local\temp\test.txt
任何想法为什么?
P.S.我运行平台为CPython
请出示你如何调用第二个程序。 – 2013-03-22 17:08:35
我编辑了我的问题,谢谢。 – 2013-03-22 17:12:40
Windows不使用双反斜杠; Python字符串文字。你打印的内容不是字符串文字;它应该是一个完全合理的Windows路径。离开'print',你会用双反斜杠以字符串形式看到它。 – 2013-03-22 17:13:37