【问题标题】:Using os.environ to access environment variables?使用 os.environ 访问环境变量?
【发布时间】:2020-10-25 14:05:10
【问题描述】:

我正在尝试访问当前用户环境的电子邮件地址和电子邮件密码,但是当我尝试打印此处的变量“EMAIL_ADDRESS”和“EMAIL_PASSWORD”时,我得到了 None 值。

我正在使用 Android 手机编写这个简单的项目。就是这样:

import os
import smtplib

EMAIL_ADDRESS = 
os.environ.get('EMAIL_USER')
EMAIL_PASSWORD = os.environ.get('EMAIL_PASS')


subject = 'Practice email code'
body = 'This is my 1st output'
msg = f'Subject:{subject}\n{body}'



server = 
smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
server.login(EMAIL_ADDRESS, EMAIL_PASSWORD)




server.sendmail(EMAIL_ADDRESS, EMAIL_PASSWORD, msg)
server.close()

我在 StackOverflow 中找到的几乎类似的问题都收到了建议,建议创建一个包含电子邮件广告和密码的新文件。但是有没有办法不与这个解决方案交叉?如果没有,您可以为初学者推荐解决此问题的最佳方法是什么?我没有任何目标,因为我还没有扎实的入门技能。所以只要我可以通过使用对象“os.environ”来访问我的电子邮件广告和密码来发送电子邮件,我就可以了。

任何建议将不胜感激!

【问题讨论】:

  • 显然那些环境变量没有设置。
  • 也许你应该只打印整个os.environ 字典来查看真正设置的内容。我对 Android 了解不多,但如果您使用类似 bash shell 的任何东西来启动您的 python 脚本,那么您可能需要检查您是否有 export-ed 变量。

标签: python smtp smtplib


【解决方案1】:

这不是 Python 的问题。尝试编写bash 脚本,看看这两个变量是否真的定义了。

【讨论】:

    猜你喜欢
    • 2021-08-16
    • 1970-01-01
    • 1970-01-01
    • 2015-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-21
    相关资源
    最近更新 更多