2014-11-01 17 views
0

我正在製作一個Twitter python腳本,我想在其中使用幾個帳戶。如何從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

https://docs.python.org/2/tutorial /datastructures.html#dictionaries – 2014-11-01 03:11:42

回答

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']) 
+1

逗號這樣一個奇怪的地方。 Python足夠自由地接受數據結構中額外的尾隨逗號。 – 2014-11-01 04:11:58