我正在制作一个Twitter python脚本,我想在几个帐户中使用它。
我的帐户令牌存储在名为twitter_tokens.py
的文件中。这是它的内容:
# Account 01
OAUTH_TOKEN = "aehbrstnfbdtfjhnbw45rjnsdty"
OAUTH_SECRET = "hrbesfdxhbtfgnrstnn"
CONSUMER_KEY = "e vaeior23nrguna564564erugnpnapnbobmna"
CONSUMER_SECRET = "resbsoirnbveioranbkjsrenb"
# Account 02
OAUTH_TOKEN = "3409gjhr89b4jrngoe"
OAUTH_SECRET = "4w5henrtydjm67rjh34ahy"
CONSUMER_KEY = "45wuhe564e56jmruyfkhmr"
CONSUMER_SECRET = "6ejtydhrsyhet7ulkyftfge4rdyhjt"
# Account 03
OAUTH_TOKEN = "h487ur6tyrgw45r7u78tkjhes"
OAUTH_SECRET = "srhtrhesrdvm80ej"
CONSUMER_KEY = "f349w0jyg09esmvsrinhmbiwo3am"
CONSUMER_SECRET = "43wg8934ngoilnvqop34ngebvsoerinb"
# Account 04
OAUTH_TOKEN = "vserimgiseomvioq34nmopigb"
OAUTH_SECRET = "resboidfmvzmvmdrgpomrh"
CONSUMER_KEY = "rmes89hfuivsbrldbnau9rgbw5"
CONSUMER_SECRET = "reabsredzbvaerdgma8erionmgbiosrtn"
然后,在我的脚本的顶部,我有这个:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from twitter import Twitter, OAuth, TwitterHTTPError
execfile('twitter_tokens.py') #import tokens
t = Twitter(auth=OAuth(OAUTH_TOKEN, OAUTH_SECRET,
CONSUMER_KEY, CONSUMER_SECRET))
[...]
上面的代码不会起作用,因为变量会发生冲突。我想要学习的是,让我说我希望我的脚本使用" 帐户01 "。如果我只导入twitter_tokens.py
的前5行,则可以正常工作。然后,如果我想在" 帐户02 "上使用该脚本,我可以导入5-11行。
有没有办法在python中执行此操作?
另外,我主要担心的是:这是做我想做的好方法吗?什么是更好的方法来做到这一点?我不想为我拥有的每个Twitter帐户都有一个.py
个文件。
感谢。
答案 0 :(得分:3)
我会使用单个变量帐户和字典内部字典
accounts = {
'acc1': {
'OAUTH_TOKEN': "aehbrstnfbdtfjhnbw45rjnsdty",
'OAUTH_SECRET': "hrbesfdxhbtfgnrstnn",
'CONSUMER_KEY': "e vaeior23nrguna564564erugnpnapnbobmna",
'CONSUMER_SECRET': "resbsoirnbveioranbkjsrenb"
}
, 'acc2': {
'OAUTH_TOKEN': "3409gjhr89b4jrngoe",
'OAUTH_SECRET': "4w5henrtydjm67rjh34ahy",
'CONSUMER_KEY': "45wuhe564e56jmruyfkhmr",
'CONSUMER_SECRET': "6ejtydhrsyhet7ulkyftfge4rdyhjt"
}
, 'acc3': {
'OAUTH_TOKEN': "h487ur6tyrgw45r7u78tkjhes",
'OAUTH_SECRET': "srhtrhesrdvm80ej",
'CONSUMER_KEY': "f349w0jyg09esmvsrinhmbiwo3am",
'CONSUMER_SECRET': "43wg8934ngoilnvqop34ngebvsoerinb"
}
}
而不是使用execfile
使用import
from config import *
print(accounts['acc1']['OAUTH_TOKEN'])