Thursday, February 6, 2025

[Python] Lesson 34 – Modules

-

Trong Python, module là một file Python chứa định nghĩa, hàm và biến, mà bạn có thể import vào các file khác để sử dụng chúng. Các module có thể được sử dụng để tái sử dụng code và giúp phân chia các tính năng khác nhau của chương trình của bạn thành các phần độc lập nhau.

1. Cài đặt module.

Cài đặt module trong Python có thể được thực hiện bằng cách sử dụng trình quản lý package của Python, pip. Để cài đặt một module, ta có thể thực hiện theo các bước sau:

  • Mở terminal hoặc command prompt.
  • Sử dụng lệnh pip install [tên module] để cài đặt module. Ví dụ: để cài đặt module numpy, ta sẽ sử dụng lệnh “pip install numpy”.
  • Chờ cho quá trình cài đặt hoàn tất.

Nếu máy tính của bạn không có pip, bạn có thể cài đặt pip bằng cách tải xuống script get-pip.py từ trang web chính thức của Python, sau đó chạy lệnh “python get-pip.py” trên terminal hoặc command prompt.

2. Cú pháp khai báo.

Để sử dụng một module trong Python, ta cần khai báo module đó trong chương trình bằng cú pháp import. Có hai cách để import module:

Import toàn bộ module:

import module_name

Import một hoặc nhiều thành phần cụ thể của module:

from module_name import component1, component2, ...

Để khai báo một module tự định nghĩa, bạn có thể sử dụng các bước sau:

  • Tạo một file Python mới với đuôi .py và đặt tên cho file đó là tên module bạn muốn định nghĩa.
  • Định nghĩa các hàm, lớp, biến và các tài nguyên khác của module trong file Python này.
  • Khi muốn sử dụng module đó, sử dụng câu lệnh import để nhập module đó vào chương trình.

Ví dụ: Để tạo một module đơn giản với một hàm tính tổng, bạn có thể tạo một file Python với tên mymodule.py và nội dung như sau:

def sum_numbers(a, b):
    return a + b

Sau đó, để sử dụng module này trong một chương trình Python khác, bạn có thể sử dụng câu lệnh import như sau:

import mymodule

print(mymodule.sum_numbers(2, 3))  # In ra 5

Nếu muốn sử dụng tên ngắn gọn hơn cho module, bạn có thể sử dụng cú pháp import <module_name> as <short_name>. Ví dụ:

import mymodule as mm

print(mm.sum_numbers(2, 3))  # In ra 5

3. Các module được sử dụng phổ biến trong Linux.

– os module: là một module cung cấp các chức năng để tương tác với hệ thống file và hệ thống như tạo, đọc, ghi, xóa file, thực thi các lệnh hệ thống, thực hiện các hàm thư viện, v.v. Ví dụ:

import os

# Lấy đường dẫn hiện tại
print(os.getcwd())

# Tạo thư mục mới
os.mkdir("new_folder")

# Tạo file mới và viết nội dung vào file
with open("new_folder/new_file.txt", "w") as f:
    f.write("Hello World")

# Đổi tên file
os.rename("new_folder/new_file.txt", "new_folder/new_file_renamed.txt")

# Xóa file và thư mục
os.remove("new_folder/new_file_renamed.txt")
os.rmdir("new_folder")

– subprocess: module này cho phép thực thi các lệnh của hệ thống dưới dạng tiến trình con và cho phép tương tác với các luồng dữ liệu vào/ra của tiến trình đó.

import subprocess

# Chạy lệnh "ls" trên Linux
output = subprocess.check_output(["ls", "-l"])
print(output.decode())

# Chạy lệnh "ping" trên Windows
output = subprocess.check_output(["ping", "google.com"])
print(output.decode())

– datetime: module này cung cấp các phương thức để xử lý thời gian và ngày tháng, chẳng hạn như tạo đối tượng thời gian, định dạng ngày tháng, tính toán khoảng cách thời gian.

import datetime

# Lấy ngày và giờ hiện tại
now = datetime.datetime.now()
print("Ngày và giờ hiện tại: ", now)

# Tạo một đối tượng ngày
date = datetime.date(2023, 2, 26)
print("Ngày được tạo: ", date)

# Định dạng lại ngày và giờ
formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
print("Ngày và giờ đã định dạng lại: ", formatted_date)

– re: module này hỗ trợ các phương thức để tìm kiếm và thay thế các chuỗi theo các biểu thức chính quy. Nó thường được sử dụng để xử lý các đoạn văn bản và file lớn.

import re

file = open("file.txt", "r")
for line in file:
    match = re.search("python", line)
    if match:
        print(match.group())
file.close()

– argparse: module này hỗ trợ xử lý đối số dòng lệnh khi chạy chương trình từ dòng lệnh. Nó cho phép thiết lập các tùy chọn, các đối số bắt buộc và tùy chọn giá trị để sử dụng cho chương trình. Sử dụng lệnh python hello.py --name World để hiển thị thông báo chào mừng “Hello, World!”.

import argparse

parser = argparse.ArgumentParser()
parser.add_argument("name", help="Name to greet")
args = parser.parse_args()

print("Hello, " + args.name + "!")

– socket: module này hỗ trợ các phương thức để tạo và tương tác với các kết nối mạng, chẳng hạn như tạo socket, thiết lập kết nối, gửi và nhận dữ liệu qua mạng. Ví dụ: Tạo một máy chủ đơn giản và kết nối đến nó từ một ứng dụng khác.

import socket

# Create a server socket
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind(('localhost', 9000))
server_socket.listen(1)

# Accept a client connection
client_socket, client_address = server_socket.accept()

# Receive data from the client
data = client_socket.recv(1024)

# Send a response back to the client
response = 'Hello, ' + data.decode()
client_socket.sendall(response.encode())

# Close the sockets
client_socket.close()
server_socket.close()

Sử dụng một ứng dụng khác để kết nối đến máy chủ và gửi một yêu cầu.

– math: module này cung cấp các phương thức để xử lý các phép tính toán toán học, chẳng hạn như tính toán giá trị tuyệt đối, căn bậc hai, lấy phần nguyên của một số.

import math

# Tính căn bậc 2 của 25
sqrt = math.sqrt(25)
print(sqrt)

# Tính cos(30 độ)
cosine = math.cos(math.radians(30))
print(cosine)

# Tính giá trị pi
pi = math.pi
print(pi)

– csv: module này cung cấp các phương thức để đọc và ghi các file CSV (Comma Separated Values), chẳng hạn như đọc và ghi các dòng và các giá trị trong file.

import csv

# Đọc file csv và hiển thị ra màn hình
with open('data.csv', 'r') as file:
    reader = csv.reader(file)
    for row in reader:
        print(row)

# Ghi dữ liệu vào file csv
with open('output.csv', 'w', newline='') as file:
    writer = csv.writer(file)
    writer.writerow(['Name', 'Age', 'Country'])
    writer.writerow(['John', '30', 'USA'])
    writer.writerow(['Jane', '25', 'Canada'])

– sys: module này cung cấp các phương thức để tương tác với hệ thống và thông tin về phiên bản Python được sử dụng, chẳng hạn như thông tin về đường dẫn của các thư viện và module, đường dẫn của các thư mục.

import sys

# Hiển thị thông tin phiên bản python
print(sys.version)

# Hiển thị đường dẫn thư mục hiện tại
print(sys.path)

# Thoát chương trình với mã lỗi 1
sys.exit(1)

– requests: module này được sử dụng để tương tác với các API web, cho phép gửi các yêu cầu HTTP và nhận phản hồi trả về từ đó.

import requests

# Tải nội dung trang web và hiển thị nội dung
response = requests.get('https://www.google.com/')
print(response.content)

# Gửi dữ liệu form đến server
data = {'username': 'user1', 'password': '123456'}
response = requests.post('https://example.com/login', data=data)
print(response.content)

# Tải file từ server và lưu xuống đĩa cứng
url = 'https://example.com/file.pdf'
response = requests.get(url)
with open('file.pdf', 'wb') as f:
    f.write(response.content)

– Module json: trong Python cung cấp các phương thức để mã hóa và giải mã đối tượng JSON.

Ví dụ mã hóa một đối tượng Python thành chuỗi JSON:

import json

person = {
    "name": "John",
    "age": 30,
    "city": "New York"
}

json_string = json.dumps(person)
print(json_string)

Kết quả:

{"name": "John", "age": 30, "city": "New York"}

Giải mã một chuỗi JSON thành đối tượng Python:

import json

json_string = '{"name": "John", "age": 30, "city": "New York"}'

person = json.loads(json_string)
print(person)

Kết quả:

{'name': 'John', 'age': 30, 'city': 'New York'}

Lưu một đối tượng Python vào file JSON:

import json

person = {
    "name": "John",
    "age": 30,
    "city": "New York"
}

with open('person.json', 'w') as f:
    json.dump(person, f)

Kết quả: Tạo file person.json chứa nội dung:

{"name": "John", "age": 30, "city": "New York"}

– Module paramiko là một module Python được sử dụng để kết nối và thực hiện các hoạt động SSH (Secure Shell) từ một máy tính đến một máy tính khác. Nó cung cấp cho chúng ta một giao diện Python để tương tác với các máy chủ từ xa qua SSH.

Ví dụ: Kết nối và thực hiện các hoạt động SSH từ một máy tính đến một máy tính khác

import paramiko

# Tạo kết nối SSH
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname='remote_host_name', username='username', password='password')

# Thực hiện các hoạt động trên máy chủ từ xa
stdin, stdout, stderr = ssh.exec_command('ls -l')

# Đọc đầu ra
output = stdout.read()

# In kết quả
print(output.decode())

# Đóng kết nối SSH
ssh.close()

Trong ví dụ này, chúng ta sử dụng module paramiko để kết nối tới một máy chủ từ xa thông qua SSH, sau đó thực hiện một câu lệnh ls -l để liệt kê tất cả các file trong thư mục hiện tại của máy chủ từ xa. Cuối cùng, chúng ta in kết quả và đóng kết nối SSH.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories