python调用其他模块_Python:动态(加载)调用其他模块的函数

└─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中的函数命名是固定的

import sys

sys.path.append('%s' % sys.argv[1])

from index import main

main()

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()

同时表示临时换域名造成第三方登陆失效太坑了。

一直无密码第三方登陆的,又重置的密码才上来的。

date = '0311'

exec "from %s.index import main as %s_main" %(date, date)

0311_main()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值