python3.x - python中如何挂载自己写的在子目录下的模块?
迷茫
迷茫 2017-04-18 09:53:27
[Python讨论组]

main.py

layout_format = {}

for filename in os.listdir('mod'):
    if filename.endswith('py'):
        for line in open(os.path.join('mod',filename)):
            eval(line)
print(layout_format)
exit()

mod/md.py

markdown_template = "# %(title)s\r\nAuthor: %(author)s\r\nCreate Date: %(created_time)s\r\nLast Update: %(updated_time)s\r\n\r\n%(content)s\r\n"


def markdown(self):
    return markdown_template % self


layout_format['md'] = markdown

然而执行出错。。。我想问下,一般python中怎么挂载自己写的子模块呢?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(3)
PHPz
layout_format = {}

for filename in os.listdir('mod'):
    if filename.endswith('py'):
        exec(open(os.path.join('mod',filename)).read())

print(layout_format)
exit()

原来这样就可以了。。。。JavaScript的eval!=python的eval,对应的是exec

ringa_lee

直接 import 就好了啊。

import mod.md

import 其他模块一样的。

PHP中文网
import sys,os
sys.path.append(os.path.abspath('.'))
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号