2016-08-01 180 views
0

我有一个将python路径传递给函数的问题。现在,如果我硬编码的路径一切实际工作。所以,我的代码是:python中的空格的Windows路径

from pymatbridge import Matlab 
lab = Matlab(executable=r'"c:\Program Files \MATLAB\bin\matlab.exe"') 
lab.start() 

这工作正常,因为我使用格式化硬编码字符串的原始字符串。现在,问题是该字符串作为变量传递。所以,想象我有一个像这样的变量:

path="c:\Program Files \MATLAB\bin\matlab.exe" 

现在,我无法弄清楚如何从中得到等效的原始字符串。我尝试了一些可能的事情,如shlex.quote(path),这使得问题与\b。如果不转换为原始字符串,我认为Program Files中的空间会导致问题。

+1

尝试面临着空间问题 “\\” 代替 “\” – Abhineet

+0

使用'/'代替,在python也可以通过指定'path = r'c:\ Program Files \ MATLAB \ bin \ matlab.exe'来使用原始字符串。 – shivsn

+0

删除''''或''',只需使用'r'c:\ Program Files \ MATLAB \ bin \ matlab.exe'确定 –

回答

0
def testpath(path): 
    print path 

testpath(path='c:\\Program Files \\MATLAB\\bin\\matlab.exe') 

输出为:

c:\Program Files \MATLAB\bin\matlab.exe 

如果你之间Program Files使用Progra~1代替