从Python中的配置文件中读取令牌

时间:2017-10-11 13:55:12

标签: python file parsing twitter access-token

我是Python的新世界,我有一个问题:

我使用Python Twitter工具来传输和存储推文,并希望从格式为不同的文件(config.py)中读取访问令牌。:

from twitter import *

WORLD_WOE_ID = 1
ARGENTINA_WOE_ID = 23424747

CONSUMER_KEY = "xxxxxx"
CONSUMER_SECRET = "xxxxx"
ACCESS_TOKEN_KEY = "xxxxx"
ACCESS_TOKEN_SECRET = "xxxxx"

我如何阅读此文件并仅解析我需要的令牌?

我尝试使用" file.readline()"但是这个命令给我带来了整行(包括" CONSUMER_KEY = ......"等等......)我只需要引号之间的键:S

谢谢你,抱歉我的英语不好!

2 个答案:

答案 0 :(得分:1)

您只需导入变量即可。

将此文件另存为config.py

然后您可以按如下方式导入使用者密钥:

from config import CONSUMER_KEY

print(CONSUMER_KEY)
>> XXXXXXX

确保包含这些文件的文件夹中包含__init__.py文件。

更好的做法是从它所在的文件夹中导入它。

from folder_name.config import CONSUMER_KEY

您也可以在__init__.py中导入它,然后使用

获取它
from folder import CONSUMER_KEY

答案 1 :(得分:0)

@Daniel Lee在导入方面的答案是正确的,但是您可以考虑使用环境变量来提高安全性。主要是防止这些设置被提交到源控制,任何人都可以在这些设置中查看。

如果您从命令行运行它,您可以将它们自己设置在文件中:

# yourfile.sh

WORLD_WOE_ID = 1
ARGENTINA_WOE_ID = 23424747

CONSUMER_KEY = "xxxxxx"
CONSUMER_SECRET = "xxxxx"
ACCESS_TOKEN_KEY = "xxxxx"
ACCESS_TOKEN_SECRET = "xxxxx"

然后在运行程序之前执行:

source yourfile.sh

或者您可以在运行程序之前指定它们:

ACCESS_TOKEN_KEY=xxxxx ACCESS_TOKEN_SECRET=xxxxx python yourscript.py

或者,如果这是基于Web的,您将需要在Web服务器配置或WSGI配置中设置它们。

你如何在程序中获得它们还取决于你如何运行它。在大多数情况下你应该能够做到

from os import environ
token_key = environ.get('ACCESS_TOKEN_KEY')
# etc ...

或者例如,如果您使用的是Flask:

from flask import request
token = request.environ.get('ACCESS_TOKEN_KEY')

(我确定Django有类似的东西,但我对它不熟悉)