Module là gì:
Module là tập hợp các chức năng có thể tái sử dụng. Tương tự như các khối Lego, bạn có thể kết hợp chúng để tạo ra mô hình phức tạp hơn hoặc tích hợp với các module khác để phát triển ứng dụng đa dạng.
Loại module:
- Module tích hợp (ví dụ: os, sys)
- Module tự tạo (do người dùng viết)
- Module bên thứ ba (third-party)
Cách import module:
import module # Nhập toàn bộ module
from module.xx.xx import * # Nhập tất cả các thành phần
from module.xx.xx import xx # Nhập thành phần cụ thể
from module.xx.xx import xx as ten_moi # Đặt tên mới cho thành phần
Module tích hợp
- os: Hỗ trợ thao tác hệ thống
os.getcwd() # Lấy thư mục hiện tại
os.chdir("duong_dan") # Thay đổi thư mục hiện tại
os.makedirs('thu_muc') # Tạo nhiều cấp thư mục
os.rmdir('thu_muc') # Xóa thư mục rỗng
os.listdir('thu_muc') # Liệt kê nội dung thư mục
os.path.join('path1', 'path2') # Kết hợp đường dẫn
os.path.exists('path') # Kiểm tra sự tồn tại
- sys: Quản lý hệ thống Python
sys.argv # Danh sách tham số dòng lệnh
sys.exit(n) # Thoát chương trình
sys.version # Phiên bản Python
sys.path # Đường dẫn tìm module
- hashlib: Mã hóa dữ liệu
import hashlib
# MD5
m = hashlib.md5()
m.update(b'du_lieu')
print(m.hexdigest())
# SHA-256
s = hashlib.sha256()
s.update(b'du_lieu')
print(s.hexdigest())
- json & pickle: Serialization
import json
import pickle
data = {'ten': 'gia_tri'}
# JSON
json_str = json.dumps(data)
new_data = json.loads(json_str)
# Pickle
with open('file.pkl', 'wb') as f:
pickle.dump(data, f)
with open('file.pkl', 'rb') as f:
loaded = pickle.load(f)
- ConfigParser: Quản lý cấu hình
import configparser
config = configparser.ConfigParser()
config.read('config.ini')
# Đọc giá trị
value = config.get('section', 'key')
# Ghi giá trị
config.set('section', 'key', 'gia_tri')
with open('config.ini', 'w') as f:
config.write(f)
- subprocess: Thực thi lệnh hệ thống
import subprocess
# Gọi lệnh
result = subprocess.run(['ls', '-l'], capture_output=True)
print(result.stdout.decode())
# Kiểm tra lỗi
try:
subprocess.check_call(['ls', 'khong_ton_tai'])
except subprocess.CalledProcessError:
print("Lỗi xảy ra")
- shutil: Thao tác file nâng cao
import shutil
# Sao chép
shutil.copy('nguon.txt', 'dich.txt')
# Di chuyển
shutil.move('nguon.txt', 'dich.txt')
# Xóa đệ quy
shutil.rmtree('thu_muc')
- logging: Ghi log
import logging
logging.basicConfig(filename='app.log', level=logging.DEBUG)
logging.debug('Thông báo gỡ lỗi')
logging.info('Thông tin')
logging.warning('Cảnh báo')
- paramiko: Kết nối SSH
import paramiko
client = paramiko.SSHClient()
client.connect('host', username='user', password='pass')
stdin, stdout, stderr = client.exec_command('df -h')
print(stdout.read().decode())
client.close()
Module tự tạo
Tạo file login.py với nội dung:
def authenticate(username, password):
return username == 'admin' and password == '123'
Sử dụng trong chương trình khác:
import login
if login.authenticate('admin', '123'):
print("Đăng nhập thành công")
Module bên thứ ba
Cài đặt qua pip:
pip install requests
pip install numpy
Ví dụ sử dụng requests:
import requests
response = requests.get('https://example.com')
print(response.text)