使用反斜杠将字符串列表转换为正确的目录名称

Convert list of strings to proper directory names with backslash

我有一个包含空格的字符串列表。我想更改每个字符串,以便在空格之前有一个反斜杠,以便它们可以用作目录名称。执行此操作的捷径是什么,可能是列表理解之类的?

代码较长的示例:

directories = []
for s in schools:
    words = s.split(' ')
    directory = '\ '.join(words)
    directories.append(directory)

使用str.replace(),这将比分裂和重新加入更有效。如果你有一个列表,列表理解可以对列表中的每个字符串执行此操作:

escaped = [s.replace(' ', r'\ ') for s in list_of_strings]

您可以使用 os.path.join 因为它 return 支持跨平台的路径。这种方式是加入目录路径的首选方式

import os
directories = [os.path.join(s.split(' ')) for s in schools]