[英]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.