把模块有关联的放在一个文件夹中

在python2中调用文件夹名会直接失败

在python3中调用会成功,但是调用不能成功

解决办法是:

在该文件夹下加入空文件__init__.py python2会把该文件夹整体当成一个包

然后编辑__init__.py

加入__all__ = ["功能名1","功能名2",...../或者类名也行]

再通过from . import 模块名

这样就可以调用包中那些模块功能了

#如果导入这个模块的方式是 from 模块名 import * ,那么仅仅会导入__all__的列表中包含的名字

举个栗子就清楚了:

当前我们有个包名为TestMsg,里面文件如下:

1.文件夹__pycache__:

__init__.cpython-35.pyc:

160d 0d0a 0072 f058 2d00 0000 e300 0000

0000 0000 0000 0000 0002 0000 0040 0000

0073 1d00 0000 6400 0067 0100 5a00 0064

0100 6402 006c 0100 6d02 005a 0200 0164

0300 5329 04da 0773 656e 646d 7367e9010000 0029 0172 0100 0000 4e2903da 075f

5f61 6c6c 5f5f da007201 0000 00a9 0072

0500 0000 7205 0000 00f5 4b00 00002f68

6f6d 652f7079 7468 6f6e 2f44 65736b74

6f70 2f707974 686f 6e30 36e69c9f 2f707974 686f 6ee5 9fba e7a1 802d 31302f30

322d e58c 852f5465 73744d73 672f 5f5f

696e6974 5f5f 2e70 79da 083c 6d6f 64756c653e01 0000 0073 0200 0000 0902

sendmsg.cpython-35.pyc

160d 0d0a 356e f058 3100 0000 e300 0000

0000 0000 0000 0000 0002 0000 0040 0000

0073 1000 0000 6400 0064 0100 8400005a0000 6402 0053 2903 6300 0000 0000 0000

0000 0000 0002 0000 0043 0000 0073 0e00

0000 7400 0064 0100 8301 0001 6400 0053

2902 4e7a 162d 2d2d 2d73 656e 646d 73672d746573 7431 2d2d 2d2d 2d29 01da 0570

7269 6e74 a900 7202 0000 0072 0200 0000f54a0000 002f 686f 6d65 2f70 7974686f

6e2f4465 736b 746f 702f 7079 74686f6e3036 e69c 9f2f 7079 74686f6e e59f bae7

a180 2d31 302f3032 2de5 8c85 2f54 6573744d7367 2f73 656e 646d 7367 2e7079da0574 6573 7431 0100 0000 7302 0000 0000

0172 0400 0000 4e29 0172 0400 0000 7202

0000 0072 0200 0000 7202 0000 0072 0300

0000 da08 3c6d 6f64 756c 653e 0100 0000

7300 0000 00

2.__init__.py

__all__ = ["sendmsg"]from . import sendmsg

3.__init__.pyc

03f3 0d0a 0072 f058 6300 0000 0000 0000

0002 0000 0040 0000 0073 1d00 0000 6400

0067 0100 5a00 0064 0100 6402 006c 01006d02 005a0200 0164 0300 5328 0400 0000

7407 0000 0073 656e 646d 7367 6901 00000028 0100 0000 5200 0000 004e 2803 0000

0074 0700 0000 5f5f 616c 6c5f 5f74 0000

0000 5200 0000 0028 0000 0000 2800 00000028 0000 0000 7313 0000 0054 6573744d7367 2f5f 5f69 6e69 745f 5f2e 7079 7408

0000 003c 6d6f 6475 6c65 3e01 0000 0073

0200 0000 0902

4.recvmsg.py

deftest2():print("-----recvmsg-test2---")

5.sendmsg.py

deftest1():print("----sendmsg-test1-----")

6.sendmsg.pyc

03f3 0d0a 356e f058 6300 0000 0000 0000

0001 0000 0040 0000 0073 0d00 0000 64000084 0000 5a00 0064 0100 5328 0200 0000

6300 0000 0000 0000 0001 0000 0043 0000

0073 0900 0000 6401 0047 4864 0000 5328

0200 0000 4e73 1600 0000 2d2d 2d2d 7365

6e64 6d73 672d 7465 7374312d 2d2d 2d2d2800 0000 0028 0000 0000 2800 0000 0028

0000 0000 7312 0000 0054 6573 744d 73672f73 656e 646d7367 2e70 7974 0500 0000

7465 7374 3101 0000 0073 0200 0000 0001

4e28 0100 0000 5200 0000 0028 0000 0000

2800 0000 0028 0000 0000 7312 0000 0054

6573 744d 7367 2f73 656e 646d 7367 2e70

7974 0800 0000 3c6d 6f64 756c 653e 0100

0000 7300 0000 00

我们还有一个文件名为infordisplay.py

deftest3():print("-----infordisplay-test3----")

摆放方式如下:

TestMsg文件夹下文件

__pycache__文件夹下文件

源码已给出 亲测有效 建议看此文的同学都能多多尝试!!!祝各位工作顺利 合家幸福 学习更上一层楼

python把模块装到文件夹中_把模块有关联的放在一个文件夹中 在python2中调用文件夹名会直接失败 在python3中调用会成功,但是调用不能成功的解决方案...相关推荐

  1. 把模块有关联的放在一个文件夹中 在python2中调用文件夹名会直接失败 在python3中调用会成功,但是调用不能成功的解决方案...

    把模块有关联的放在一个文件夹中 在python2中调用文件夹名会直接失败 在python3中调用会成功,但是调用不能成功 解决办法是: 在该文件夹下加入空文件__init__.py python2会把 ...

  2. pptx文件无法读取_如何在未安装Office的情况下查看PPTX,DOCX或XLSX文件中的图像...

    pptx文件无法读取 There's nothing more frustrating than finally getting the screenshot or image you asked f ...

  3. mysql保存一个文件怎么打开_悄悄告诉你,MySQL 通过SQL语句导出到Excel的方法-sql文件怎么打开...

    执行SQL语句 select fullname,time,endtime,closed from chat_archive into outfile 'c:/xxx.xls' 注意:因为office默 ...

  4. python怎么横着输出_对python3中, print横向输出的方法详解

    对python3中, print横向输出的方法详解 Python 2 : print打印的时候,如果结尾有逗号,打出来时候不会换行.但是在python3里面就不行了. Python3: 3.0的pri ...

  5. python nlp 句子提取_python nlp 句子提取_《用Python进行自然语言处理》第7章 从文本提取信息...

    1. 我们如何能构建一个系统,从非结构化文本中提取结构化数据? 2. 有哪些稳健的方法识别一个文本中描述的实体和关系? 3. 哪些语料库适合这项工作,我们如何使用它们来训练和评估我们的模型? 7.1 ...

  6. Python3中lambda表达式介绍

    Python3中的lambda表达式或lambda函数是匿名函数(anonymous function),意味着该函数没有名称.def关键字用于在Python3中创建一个普通函数,类似地,lambda ...

  7. python3中正确代码报红显示Indent expected

    标题:python3中正确代码报红显示Indent expected 解决办法:去掉空格,直接点击[Tab]按钮 说明:python3中对格式要求很严格,不像java一样随意空格 未Tab空格设置之前 ...

  8. python中shutil模块_python文件、文件夹、压缩包处理模块-shutil模块-阿里云开发者社区...

    shutil模块 高级的文件.文件夹.压缩包 处理模块 本节内容基本在linux下python交互环境实现 复制移动文件.文件夹 将文件内容拷贝到另一个文件中,可以部分内容 格式如下: ``` shu ...

  9. 模块导入---如何在一个文件中导入其它模块,来调用它的变量、函数等,以节省代码量...

    ***我们在开发过程中,经常会遇到一些公共的变量或者方法,如果在每个文件中声明定义,则会造成工作量重复.我们可以将我们会重复使用的方法和变量放在一个文件中,要用的时候去调用就可以了. #简例: 1.新 ...

最新文章

  1. 8款帅酷的HTML5/CSS3 3D动画、图片、菜单应用
  2. 【error】RuntimeError: size mismatch与全连接fc层
  3. TurboMail邮件服务器围绕用户需求 建自主创新型企业
  4. c语言动态申请函数,C语言用malloc函数申请二维动态数组
  5. 《Android App开发入门:使用Android Studio 2.X开发环境》——1-2 在计算机的仿真器上执行 App...
  6. android commit apply,关于SharedPreference的commit和apply和ANR
  7. 这40张图送给单身程序员,情人节请一笑而过!
  8. linux服务器禁ip策略,Linux服务器自动封禁访问异常的IP脚本(一)
  9. python-day1-用户的输入输出
  10. RHEL5 Linux下Oracle 10 Client的安装明细
  11. java多脚本顺序运行_关于eclipse里运行selenium脚本的顺序问题
  12. CentOS5.2下安装yum
  13. gitee码云安装和使用教程
  14. django models 之字段详解
  15. unittest用例封装
  16. Git操作流程(非常详细)
  17. 【c语言】高级篇学习笔记
  18. 用Python编写账号密码登录程序
  19. 硬盘分区删除后的恢复!
  20. 微信[电脑版]如何更换默认通知铃声

热门文章

  1. JSP和Tag之文件上传
  2. win10计算机无法复制文件,Win10系统下移动、复制、删除文件需要管理员权限的解决方法...
  3. 华为鸿蒙搭载哪些手机,华为鸿蒙系统支持哪些手机 可以装华为鸿蒙系统手机...
  4. 初中数学抽象教学的案例_初中数学课堂片段教学案例分析
  5. java反射回调函数_java回调函数
  6. mysql+查询新的一条记录表_Mysql 查询表中每个类别最新的一条记录
  7. 陕西省高等数学竞赛_关于参加“陕西高校第十二次大学生高等数学竞赛”的通知...
  8. poj1753_flipgame_枚举
  9. SQL查询临时表空间的数据
  10. python基础学习笔记——异常处理