沙滩星空的博客沙滩星空的博客

Python中的模块,包和类的使用

Python 模块

Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。

Python中的包

简单来说,包就是文件夹,但该文件夹下必须存在 __init__.py 文件, 该文件的内容可以为空。
__init__.py 用于标识当前文件夹是一个包。

Python 中包和类的用法

包的建立

建立一个文件夹 filePackage

filePackage 文件夹内创建 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'))

filePackage 文件夹内创建 __init__.py,代码如下:

from file import MyFile

包的使用:

建立 main.pyfilePackage 目录平级。代码如下:

#!/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();

但不建议这样写,建议按上面的方法将模块里的公用类暴露出来,直接引用。


Python 模块 https://www.runoob.com/python/python-modules.html
Python 基础教程之包和类的用法 https://www.cnblogs.com/wanghuaijun/p/6692458.html
未经允许不得转载:沙滩星空的博客 » Python中的模块,包和类的使用

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址