【问题标题】:Read Tokens from config file in Python从 Python 中的配置文件中读取令牌
【发布时间】:2018-03-23 05:42:55
【问题描述】:

我是 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

谢谢你,对不起我的英语不好!

【问题讨论】:

    标签: python file parsing twitter access-token


    【解决方案1】:

    @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 也有类似的东西,但我不太熟悉)

    【讨论】:

      【解决方案2】:

      您可以简单地导入变量。

      将此文件另存为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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-07-22
        • 2018-01-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-12-12
        • 1970-01-01
        相关资源
        最近更新 更多