Home  >  Article  >  Backend Development  >  How to use Python packages and classes

How to use Python packages and classes

高洛峰
高洛峰Original
2017-02-27 09:55:541173browse

Python Basic Tutorial Usage of Packages and Classes

Create a folder filePackage

Create __init__ in the filePackage folder. py

With __init__.py, filePackage is considered a package, otherwise it is just an ordinary folder.

Create file.py in the filePackage folder

file.py code is as follows:

#!/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__ The .py code is as follows:

from file import MyFile

Expose the public class methods in this module

and then outside There is no need to find the specific actual location of the reference, just find the __init__ of the package.

Create main.py and filePackage level,

main.py code is as follows:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

from filePackage import MyFile

if __name__ == '__main__':
 a = MyFile("./filePackage/test.txt")
 a.printFilePath();
 a.testReadFile();

Directory structure:

How to use Python packages and classes

If nothing is written in __init__.py, then in You can also write like this in main.py:

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

But it is not recommended to write like this. It is recommended to expose the public classes in the module according to the above method and quote them directly. .

Thank you for reading, I hope it can help you, thank you for your support of this site!

For more articles related to the usage of Python packages and classes, please pay attention to the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn