用于每次调用旋转文件的Python函数

时间:2015-02-12 21:24:31

标签: python oauth

我在项目中使用OAuth,并且在单独的csv文件中有三组密钥可供访问。有没有办法编写一个函数,每次调用函数时都会访问三个文件中的一个(按顺序,1,2,3,重复)?我能想到这样做的唯一方法是没有全局变量"是我的主要功能中的某种变量将跟踪。但是,我还没有能够通过黑客攻击/ google-fu。

2 个答案:

答案 0 :(得分:1)

使用iter在代码的开头创建文件名的迭代器:

names = iter([1,2,3])
print(next(names))
print(next(names))
print(next(names))
1
2
3

或者itertools.cycle:

from itertools import cycle
names = cycle([1,2,3])
print(next(names))
print(next(names))
print(next(names))
print(next(names))
print(next(names))
print(next(names))
1
2
3
1
2
3

在您的函数中,只需使用with open next(names) as f:.... names包含文件名/路径。

答案 1 :(得分:0)

使用发电机:

def accessInSequence():
    while True:
        accessFileOne()
        yield
        accessFileTwo()
        yield
        accessFileThree()
        yield

mySequence = accessInSequence()
mySequence() #file 1
mySequence() #file 2
# ...