└─test
│ main.py
├─0309
│ index.py
├─0310
│ index.py
├─0311
│ index.py
├─0312
│ index.py
└─0313
index.py
如上图所示,在test目录中,有一个main.py的文件,和其他几个以日期命名的文件夹,在文件夹中,都有一个index.py,每个index.py的函数命名都一样,只有一个mian().
eg:index.py
def main():
print "main"
现在,我想在mian.py实现以下功能:
只需提供一个日期名,如:python main.py -0311
就会执行0311/index.py
中的main()方法
注:test目录下的子文件夹数量并不是固定的,每天都会新增,但index.py中的函数命名是固定的
https://docs.python.org/2/library/imp.html
fp, pathname, description = imp.find_module("index",["0309"])
try:
m = imp.load_module("0309_index", fp, pathname, description)
m.main() # 这样就可以直接执行了,详细信息看官方文档。
finally:
if fp:
fp.close()
同时表示临时换域名造成第三方登陆失效太坑了。
一直无密码第三方登陆的,又重置的密码才上来的。
import sys
sys.path.append('%s' % sys.argv[1])
from index import main
main()
date = '0311'
exec "from %s.index import main as %s_main" %(date, date)
0311_main()