字符串连接发生在 python 中的下一行

String concatenation takes place on the next line in python

Python 使用 + 运算符进行简单的串联。但我观察到一些不寻常的东西。

我试过了:

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

其中 path 是我要连接的凝视变量。

print final_path

给我:

/home/user/path
/output

而不是/home/user/path/output

为什么要去下一行。 是正斜杠引起的问题。 我也尝试使用转义字符。但它不起作用。

从您的代码来看,问题可能出在变量 path 上。检查 path 末尾是否有新行。转义字符以反斜杠 \ 而非正斜杠 /.

开头

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

此致。

当路径来自您导入数据的另一个文件(例如 .txt)时会发生这种情况。我通过添加 path.strip() 解决了这个问题,它删除了正在生成的换行符之前和之后的空格。只需将 .strip() 添加到您的变量中即可。

正如victor所说,你的路径变量在末尾隐式添加了'\n',所以你可以做这样的技巧来克服这个问题:

final_path = '/home/user/' + path.strip('\n') + '/output'