-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