簡體   English   中英

在 Python 中從配置文件中讀取令牌

[英]Read Tokens from config file in Python

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

謝謝你,對不起我的英語不好!

您可以簡單地導入變量。

將此文件保存為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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM