Python 基础教程之包和类的用法
Python 基础教程之包和类的用法
建立一个文件夹filePackage
在filePackage 文件夹内创建 __init__.py
有了 __init__.py ,filePackage才算是一个包,否则只是算一个普通文件夹。
在filePackage 文件夹内创建 file.py
file.py 代码如下:
#!/usr/bin/env python3 # -*- coding: utf-8 -*- from datetime import datetime class MyFile(): def __init__(self, filepath): print('MyFile init...') self.filepath = filepath def printFilePath(self): print(self.filepath) def testReadFile(self): with open(self.filepath, 'r') as f: s = f.read() print('open for read...') print(s) def testWriteFile(self): with open('test.txt', 'w') as f: f.write('今天是 ') f.write(datetime.now().strftime('%Y-%m-%d'))
__init__.py 代码如下:
from file import MyFile
把本模块里面的 公用的类 方法 暴漏出来
然后 外面的引用 不用找到具体的现实位置,找到包的__init__ 就好了
建立main.py 和 filePackage 平级,
main.py 代码如下:
#!/usr/bin/env python3 # -*- coding: utf-8 -*- from filePackage import MyFile if __name__ == '__main__': a = MyFile("./filePackage/test.txt") a.printFilePath(); a.testReadFile();
目录结构:
若 __init__.py 里什么也不写,那么在main.py里也可以这样写:
import filePackage.file if __name__ == '__main__': a = filePackage.file.MyFile("./filePackage/test.txt") a.printFilePath();
但不建议这样写,建议按上面的方法将模块里的公用类暴露出来,直接引用。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关文章
Pytorch平均池化nn.AvgPool2d()使用方法实例
平均池化层,又叫平均汇聚层,下面这篇文章主要给大家介绍了关于Pytorch平均池化nn.AvgPool2d()使用方法的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下2023-02-02Python datetime和unix时间戳之间相互转换的讲解
今天小编就为大家分享一篇关于Python datetime和unix时间戳之间相互转换的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧2019-04-04
最新评论