首页 > 解决方案 > 将换行值写入python文件而不换行

问题描述

我有一个奇怪的问题,但我正在尝试解决我一直遇到的问题。我有一个 python 脚本,它将另一个存储的 python 脚本写入一个新文件。问题是它编写的脚本包含换行值(\n。)而不是写\n,它把它放在一个新行中。有什么办法吗?

f = open('email.py','r+')
readcontent = f.read()
f.seek(0, 0)
f.write('''\
def sendemail(from_addr, to_addr_list, cc_addr_list, subject, message, login, password, smtpserver='smtp.gmail.com:587'):
    header  = 'From: %s\n' % from_addr
    header += 'To: %s\n' % ','.join(to_addr_list)
    header += 'Cc: %s\n' % ','.join(cc_addr_list)
    header += 'Subject: %s\n' % subject
    message = header + message

    server = smtplib.SMTP(smtpserver)
    server.starttls()
    server.login(login,password)
    problems = server.sendmail(from_addr, to_addr_list, message)
    server.quit()
''')    
f.close()

我试过了,但没有用:

f = open('email.py','r+',newline=None)

有什么建议么?

标签: pythonstringpython-3.xescaping

解决方案


如果您不希望 Python 处理字符串文字中的反斜杠转义,请在其前面加上r

f.write(r'''
...
''')

推荐阅读