2017-06-12 46 views
0

Python使用+运算符进行简单串接。但我正在观察一些不寻常的东西。字符串串联发生在python的下一行

我想:

final_path = '/home/user/' + path + '/output' 

path是盯着变量I想连接。

print final_path 

给我:

/home/user/path 
/output 

而不是/home/user/path/output

为什么会去到下一行。 是正斜杠导致问题。 我尝试使用转义字符。但它不起作用。

+0

[使用os.path.join()构建绝对路径的可能的副本)(https://stackoverflow.com/questions/17429044/constructing-absolute-path-with-os-path-join) –

+1

tl; dr 'os.path.join(os.sep,'home','user',path,'output')' –

+0

如果你从文件中获得'path',那就是你的问题。文件中的每一行都包含换行符。只需使用'path.strip()'。 – zondo

回答

0

从代码的外观来看,它可能是变量path这就是问题所在。检查path最后是否有新行。转义字符以反斜杠\开头,而不是正斜杠/

0

也许它取决于哪个字符串包含在变量路径中。如果以回车符('\ n')结束,这可以解释为什么字符串变量final_path打印在2行上。

问候。