我在Windows上使用python,我的项目文件夹的路径太长了。例如:
pathProject = r'C:UsersAccountOneDriveDocumentsProjects2016SharedProject-1AdministrativePhase-1Final'
os.chdir(pathProject)
我怎样才能以最优雅的方式将这很长的强分解成多条线?如果字符串不是原始字符串,我知道该怎么做。但是,如果我尝试这样的事情,我会收到一个错误:
pathProject = r'''C:UsersAccountOneDrive
DocumentsProjects2016Shared
Project-1AdministrativePhase-1
Final'''
将此原始字符串分成多行的最优雅方法是什么?
您可以使用括号来触发自动行连续。 字符串将自动连接。
pathProject = (
r"C:UsersAccountOneDrive"
r"DocumentsProjects2016Shared"
r"Project-1AdministrativePhase-1Final"
)
你差点就明白了!问题是原始字符串不能以反斜杠结尾。因此,这有效:
pathProject = r'''C:UsersAccountOneDrive
DocumentsProjects2016Shared
Project-1AdministrativePhase-1
Final'''
请注意,如果在三引号字符串中放入空格以缩进它,就像在您的示例中一样,字符串中会有您不需要的空格。如果您喜欢缩进,则可以按照 Brendan 答案中的建议使用带括号的自动行继续。同样,请确保行不以反斜杠结尾。
问题是结尾被解释为延续(以消除 LF 字符;Joooeey的回答是错误的(,并且还包括其他行开头的空格。作为单个原始字符串,这将起作用:
pathProject = r'''C:UsersAccountOneDrive
DocumentsProjects2016Shared
Project-1AdministrativePhase-1
Final'''
我想我更喜欢布伦丹的方式,但你可能想知道原始字符串如何(或不工作(适合你的情况。
在 Python 3 中,我们可以使用简单的来扩展任何类型的字符串,无论是 f 字符串还是 r 字符串。
在这里,我们将放在我们要继续的每一行之后。
pathProject = r'C:UsersAccountOneDrive'
r'DocumentsProjects2016Shared'
r'Project-1AdministrativePhase-1Final'
用于继续 Python 中的任何语句。 例如:
if some_condition_1 and some_condition_2 and some_condition_3 and some_condition_4:
pass
可以写成
if some_condition_1 and some_condition_2
and some_condition_3 and some_condition_4:
pass