如何使用Python从文件中读取API身份验证数据?

时间:2014-06-24 17:11:19

标签: python twitter-oauth tweepy

从文件中读取API密钥时,我遇到“错误验证”错误:

#!/usr/local/bin/python
import tweepy

#open a file called "keys" with keys and tokens for Twitter separated by newlines
keyFile = open('keys', 'r')
consumer_key = keyFile.readline()
consumer_secret = keyFile.readline()
access_token = keyFile.readline()
access_token_secret = keyFile.readline()
keyFile.close()
print "consumer key: " + consumer_key
print "consumer secret: " + consumer_secret
print "access token: " + access_token
print "access token secret: " + access_token_secret

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)

如果我手动设置我的密钥,就像使用consumer_key = "xxx"一样,它可以正常工作。从文件中读取时,有关原因的任何提示都不起作用?感谢。

2 个答案:

答案 0 :(得分:2)

所以事实证明Python也在阅读换行符。解决方案是使用rstrip()删除隐藏的字符:

consumer_key = keyFile.readline().rstrip()

答案 1 :(得分:1)

keys.txt文件有4行,包括consumer_keyconsumer_secretaccess_tokenaccess_token_secret,每行分别排成一行,所以我们先读取所有行具有keys.txt方法的readlines文件。我们需要使用.rstrip()来从每个字符串的末尾(或其他可能不需要的字符)中删除不需要的\n。最好将这些信息保存在keys.txt文件中,并在将项目推送到keys.txt时将.gitignore文件的名称添加到GitHub,以便其他人赢得&#39}。在将代码推送到GitHub时,请破解您的帐户。

keys_file = open("keys.txt")
lines = keys_file.readlines()
consumer_key = lines[0].rstrip()
consumer_secret = lines[1].rstrip()
access_token = lines[2].rstrip()
access_token_secret = lines[3].rstrip()