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();
|
但不建议这样写,建议按上面的方法将模块里的公用类暴露出来,直接引用。