繁体   English   中英

从 Python 字符串中删除转义序列

[英]Remove Escape Sequence from Python String

我正在开发一个简单的函数,它为新用户生成随机密码并通过电子邮件发送给他们。 这是我的代码的相关部分:

import string
import random

def create_temporary_password():
    characters = string.ascii_letters + string.punctuation + string.digits
    return "".join(random.choice(characters) for _ in range(RANDOM_PW_LENGTH))

def main():
    temp_password = create_temporary_password()
    my_send_email_function(
        to='example@123.com',
        subject='Your Password',
        body="Your temporary password is {temp_password}"
    )

(除此之外还有很多,我已经取出了非必需品)

有没有一种简单的方法可以确保 temp_password 不会偶然以 \n 或类似的转义序列结束,这可能会破坏通过电子邮件发送密码的格式?

这可以通过使用string.replace方法来实现:

password = "".join(random.choice(characters) for _ in range(RANDOM_PW_LENGTH))
return password.replace('\n', '')

这将替换密码中所有出现的“\n”。

如果您想从字符串中删除其他特殊字符,您可以创建一个包含要删除的列表,然后循环上面的代码一次选择一个特殊字符,或者更简单,您可以删除所有出现的'\' 来自字符串。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM