Python:原始字符串太长,多行

时间:2017-02-05 23:47:38

标签: python

我在Windows上使用python,项目文件夹的路径太长了。例如:

pathProject = r'C:\Users\Account\OneDrive\Documents\Projects\2016\Shared\Project-1\Administrative\Phase-1\Final'

os.chdir(pathProject)

如何以最优雅的方式将这段很长的时间打破成多行呢?如果字符串不是原始字符串,我知道如何做到这一点。但是,如果我尝试这样的话,我会收到一个错误:

pathProject = r'''C:\Users\Account\OneDrive\
                Documents\Projects\2016\Shared\
                Project-1\Administrative\Phase-1\
                Final'''

将这个原始字符串分成多行的最优雅方法是什么?

芬兰

3 个答案:

答案 0 :(得分:14)

您可以使用括号来触发自动续行。字符串将自动连接。

pathProject = (r'C:\Users\Account\OneDrive'
               r'\Documents\Projects\2016\Shared'
               r'\Project-1\Administrative\Phase-1\Final')

答案 1 :(得分:2)

您几乎明白了!问题是原始字符串不能以反斜杠结尾。因此,这可行:

pathProject = r'''C:\Users\Account\OneDrive
\Documents\Projects\2016\Shared
\Project-1\Administrative\Phase-1
\Final'''

请注意,如果像在示例中那样在三引号引起来的字符串中添加空格以使其缩进,则您的字符串中将有不需要的空格。如果您喜欢缩进,可以按照Brendan的答案中的建议使用带括号的自动换行。同样,请确保这些行不以反斜杠结尾。

答案 2 :(得分:0)

问题在于,\的末尾被解释为连续字符(以消除LF字符; Joooeey对此的回答是错误的),并且还包括了其他行开头的空格。作为单个原始字符串,这将起作用:

pathProject = r'''C:\Users\Account\OneDrive\
\Documents\Projects\2016\Shared\
\Project-1\Administrative\Phase-1\
\Final'''

我想我更喜欢Brendan的方式,但是您可能想知道原始字符串如何工作(或不工作)。