我制作了一些有用的代码,它们在代码中声明了密钥和秘密:
key = 'ewjewej2j020e2'
secret = 'dw8d8d8ddh8h8hfehf0fh'
然后做我的生意和工作。但是,如果我将密钥和密钥放在由换行符分隔的两行中的外部文件中并加载它:
file = os.path.join(os.path.dirname(__file__), '../keys')
f = open(file, 'r')
key = f.read()
secret = f.read()
f.close()
我收到了一个auth错误,因为我没有提供任何令牌,因为我确定在密钥和密码的编码中发生了一些可疑的事情。
好的,如果Python3中的所有字符串都是Unicode,那么为什么从文件中加载脚本不起作用并在代码中声明呢?
答案 0 :(得分:0)
read()
将读取整个文件。试试readline()
。
with open('keys', 'r') as f:
key = f.readline().rstrip()
secret = f.readline().rstrip()
print(key)
print(secret)
# ewjewej2j020e2
# dw8d8d8ddh8h8hfehf0fh
或拆分阅读:
with open('keys', 'r') as f:
key, secret = f.read().split()
print(key)
print(secret)
# ewjewej2j020e2
# dw8d8d8ddh8h8hfehf0fh
with open('keys', 'r') as f:
key, secret = map(str.rstrip, f)
print(key)
print(secret)
# ewjewej2j020e2
# dw8d8d8ddh8h8hfehf0fh