我一直在尝试查看是否可以使用 python-decouple 将我的机器人凭据放在单独的 .env 文件中。
为什么不使用praw.ini
文件?这记录在PRAW 文档中。这是一种将 Reddit 凭据存储在与您的代码不同的文件中的格式。例如,一个praw.ini
文件可能如下所示:
[bot1]
client_id=Y4PJOclpDQy3xZ
client_secret=UkGLTe6oqsMk5nHCJTHLrwgvHpr
password=pni9ubeht4wd50gk
username=fakebot1
[bot2]
client_id=6abrJJdcIqbclb
client_secret=Kcn6Bj8CClyu4FjVO77MYlTynfj
password=mi1ky2qzpiq8s59j
username=fakebot2
然后,您可以在代码中使用特定凭据,如下所示:
import praw
reddit = praw.Reddit('bot2', user_agent='myBot v0.1')
print('Logged in as', reddit.user.me())
我认为这是使用 PRAW 凭据的最佳解决方案。
但是,如果您真的想使用python-decouple
,这里有一个工作示例:
文件内容.env
:
username=k8IA
password=REDACTED
client_id=REDACTED
client_secret=REDACTED
文件内容connect.py
:
import praw
from decouple import config
reddit = praw.Reddit(username=config('username'),
password=config('password'),
client_id=config('client_id'),
client_secret=config('client_secret'),
user_agent='myBot v0.1')
print('Logged in as', reddit.user.me())
运行时输出python3 connect.py
:
Logged in as k8IA