博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python 基础教程之包和类的用法
阅读量:5930 次
发布时间:2019-06-19

本文共 1264 字,大约阅读时间需要 4 分钟。

Python 基础教程之包和类的用法

建立一个文件夹filePackage 

在filePackage 文件夹内创建 __init__.py 

有了 __init__.py ,filePackage才算是一个包,否则只是算一个普通文件夹。

在filePackage 文件夹内创建 file.py 

file.py 代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/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 代码如下:

1
from
file
import
MyFile

把本模块里面的 公用的类 方法 暴漏出来

然后 外面的引用 不用找到具体的现实位置,找到包的__init__ 就好了

建立main.py 和 filePackage 平级, 

main.py 代码如下:

1
2
3
4
5
6
7
8
9
#!/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里也可以这样写:

1
2
3
4
import
filePackage.
file
if
__name__
=
=
'__main__'
:
 
a
=
filePackage.
file
.MyFile(
"./filePackage/test.txt"
)
 
a.printFilePath();

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

转载地址:http://jxktx.baihongyu.com/

你可能感兴趣的文章
DSP与STM32区别
查看>>
day82 ES6常用语法&前端框架Vue常用指令
查看>>
FormCollection读取表单数据
查看>>
如何添加并设置远程桌面(RD)授权服务器
查看>>
制作TimeLine物流信息展示效果
查看>>
几种分布式文件系统对比
查看>>
关于页面美化
查看>>
理解数据类型与数学运算:求和、温度转换
查看>>
item style edit in sharepoint 2013
查看>>
开启Sharepoint 2013站点邮箱
查看>>
自动化运维工具Puppet在实际工作中的注意事项
查看>>
linux下控制帐户过期的多种方法
查看>>
实现Action逻辑
查看>>
学习像树一样活着!
查看>>
中国软件开发工程师之痛
查看>>
话里话外:企业吉祥高歌唱未来需“三宝”
查看>>
理解BPDU Guard的意义(BPDU Guard在全局配置与接口配置上的区别)
查看>>
互联网教育, 免费 !没有未来!!
查看>>
Hyper-V 2016 系列教程18 Windows 上的 Hyper-V 和 Windows Server 上的 Hyper-V 之间的差异
查看>>
How To Setup MongoDB 4.0 Replica Set
查看>>