iPython/Jupyter 中的文档字符串(三引号)带有自动闭括号/引号?

问题描述 投票:0回答:2

我正在尝试使用 Python 2.7 在我的

Jupyter 笔记本
中使用 docstrings 带三引号。

我可以禁用自动关闭括号/引号,但我非常喜欢它们;工作流程大幅增加。

有谁知道如何在不过度引用的情况下进行三重引号,同时保持自动关闭功能?

如果我按

"
3x
我会得到
""""""
;
如果我按下
3x
delete
一次,我就会按下
""""
;和 如果我按
3x
delete
两次,我会得到
""

很烦人吧? 如何才能两全其美(自动关闭 | 文档字符串)?

这是一个相当低级的问题,但我在任何地方都没有看到简单的解决方案,因此答案应该对社区有用。如果您投反对票,您能解释一下为什么这是一个糟糕的问题吗?

enter image description here

python jupyter jupyter-notebook docstring
2个回答
1
投票

没有什么问题。当您输入 3 " 时,您的光标位于结果 6 的中间。因此,您输入的任何内容都在字符串内并且已自动关闭。

准确键入此字符串:

"""This is working
,无需单击或以其他方式移动光标。结果将是一个格式正确的字符串,因为它将自动关闭该字符串。因此你同时拥有字符串和自动关闭功能。


0
投票

导入smtplib 从 email.mime.text 导入 MIMEText 从 email.mime.multipart 导入 MIMEMultipart 随机导入 导入时间

defgenerate_otp(): """生成随机 6 位 OTP。""" 返回 random.randint(100000, 999999)

def send_otp(email_recipient, otp): ”“” 模拟将 OTP 发送到用户的电子邮件。 连接到电子邮件服务器并发送 OTP。 ”“” sender_email = "[电子邮件受保护]" sender_password =“您的密码或应用程序特定密码” smtp_server =“smtp.gmail.com” smtp_端口 = 587

subject = "Your OTP Code"
body = f"Your OTP code is: {otp}. Please use this to verify your access."

# Setting up the email message
message = MIMEMultipart()
message["From"] = sender_email
message["To"] = email_recipient
message["Subject"] = subject
message.attach(MIMEText(body, "plain"))

try:
    # Connect to the SMTP server
    server = smtplib.SMTP(smtp_server, smtp_port)
    server.starttls()  # Secure connection
    server.login(sender_email, sender_password)
    server.send_message(message)
    print("OTP sent successfully to the email!")
except Exception as e:
    print(f"Failed to send OTP: {e}")
finally:
    server.quit()

def get_user_otp_input(): """提示用户输入 OTP。""" return input("输入发送到您邮箱的一次性密码:").strip()

def validate_otp(生成的OTP,输入的OTP,重试= 3): ”“” 验证用户输入的 OTP。 如果输入不正确,允许用户重试最多“重试”次。 ”“” 当重试次数 > 0 时: 如果进入的_otp == str(生成的_otp): print("已授予访问权限!OTP 验证成功。") 返回真 别的: 重试 -= 1 如果重试次数 > 0: print(f"OTP 不正确。您还剩 {retries} 次尝试。") 输入的 otp = get_user_otp_input() 别的: print("访问被拒绝!错误尝试次数过多。") 返回错误

if name == "main": print("欢迎使用OTP验证系统")

# Step 1: Generate OTP
otp = generate_otp()

# Step 2: Send OTP
recipient_email = input("Enter your email address: ").strip()
send_otp(recipient_email, otp)

# Step 3: Prompt user for OTP entry
print("An OTP has been sent to your email. Please check your inbox.")
entered_otp = get_user_otp_input()

# Step 4: Validate OTP
validate_otp(otp, entered_otp)
© www.soinside.com 2019 - 2024. All rights reserved.