我是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
谢谢你,抱歉我的英语不好!
答案 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有类似的东西,但我对它不熟悉)