在python中格式化一个字符串

cyb*_*ron 3 python string

我有以下模板,我正在写一个config文件:

template = """mkdir /root/.ssh \
        && chmod go-rwx /root/.ssh \
        && apt-get install -y \
            gcc \
            libssl-dev \
            python-pip \
            openssh-server \
PATH=/usr/local/jdk1.8.0/bin:$PATH 
"""
with open('config', 'w') as f:
    f.write(template)
Run Code Online (Sandbox Code Playgroud)

我得到以下格式:

mkdir /root/.ssh         && chmod go-rwx /root/.ssh         && apt-get install -y             gcc             libssl-            dev             python-pip             openssh-server
Run Code Online (Sandbox Code Playgroud)

代替:

mkdir /root/.ssh \
            && chmod go-rwx /root/.ssh \
            && apt-get install -y \
                gcc \
                libssl-dev \
                python-pip \
                openssh-server \
PATH=/usr/local/jdk1.8.0/bin:$PATH 
Run Code Online (Sandbox Code Playgroud)

如何将字符串模板格式化为正确的格式?

Dan*_*iel 8

在Python中\是一个转义字符,您必须使用以下命令来转义\\:

template = """mkdir /root/.ssh \\
        && chmod go-rwx /root/.ssh \\
        && apt-get install -y \\
            gcc \\
            libssl-dev \\
            python-pip \\
            openssh-server \\
PATH=/usr/local/jdk1.8.0/bin:$PATH 
"""
with open('config', 'w') as f:
    f.write(template)
Run Code Online (Sandbox Code Playgroud)