包的知识
Posted whylinux
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了包的知识相关的知识,希望对你有一定的参考价值。
# 把解决一类问题的模块放在同一个文件夹里,这个文件夹就是一个包 # 在python2.7中一个文件夹下有__init__.py才可以称这个文件夹为一个包。 # 导入一个包时,会自动执行这个包下面的__init__.py文件 # 关于包的注意事项 # 1.关于包相关的导入语句也分为import和form...import..两种,但是无论哪种,无论在什么位置 # 在导入时都必须遵循一个原则:凡是在导入时带点的,点的左边都是必须是一个包,否则非法。可以带 # 有一连串的店,如item.subitem.subsubitem,但都必须遵循这个原则 # 2.对于导入后,在使用时就没有这种限制了,点的左边可以是包、模块、函数、类(他们都可以用点的方式调用自己的属性) # 3.对比import item和from item import name的应用场景 # 如果我们想直接使用name那必须使用 # 使用绝对路径,不管在包内部还是外部,导入了就能用,但是不能挪动文件夹。 绝对路径必须会 # 相对路径 # 可以随意动包,只要能找到包的位置,就可以使用包里的模块 # 包里的模块如果想使用其他模块的内容只能使用相对路径,使用了相对路径就不能再包内直接执行了,但可以在包外面执行 # import os # os.makedirs(‘glance/api‘) # os.makedirs(‘glance/cmd‘) # os.makedirs(‘glance/db‘) # l = [] # l.append(open(‘glance/__init__.py‘, ‘w‘)) # l.append(open(‘glance/api/__init__.py ‘, ‘w‘)) # l.append(open(‘glance/api/policy.py‘, ‘w‘)) # l.append(open(‘glance/api/versions.py‘, ‘w‘)) # l.append(open(‘glance/cmd/__init__.py‘, ‘w‘)) # l.append(open(‘glance/cmd/manage.py‘, ‘w‘)) # l.append(open(‘glance/db/__init__.py‘, ‘w‘)) # l.append(open(‘glance/db/models.py‘, ‘w‘)) # # map(lambda f:f.close(), l) import glance glance.api.policy.get() glance.api.versions.create_resource(‘123‘) glance.cmd.manage.main() glance.db.models.register_models(12) # 软件开发规范(非Web的) # 目录结构 # soft # bin # 写开始文件,程序入口,执行这个文件,整个项目程序则整体运行起来,主要给运维人员调用 # start.py # conf # 配置文件,改变这个文件中的值来改变陈旭的运行结果 # config.ini # my_log_settings.py # settings.py # core # 自己写的所有代码,都放入到这个目录下 # core.py # db # 数据库 # alex_json # egon_json # lib # 放自己写的包、模块等 # read_ini.py # log # 放执行程序过程中,想要记录下来的log日志 # all2.log # import os # import sys # sys.path.append(os.path.dirname(os.getcwd())) # 将当前路径的上一级路径添加到path中 # from core import core # # if __name__ == ‘__main__‘: # core.main()
以上是关于包的知识的主要内容,如果未能解决你的问题,请参考以下文章
Flutterflutter doctor 报错Android license status unknown. Run `flutter doctor --android-licenses‘(代码片段