Import sys trong Python la gì

Module (mô-đun) là một file chứa code hoặc một function (hàm) và có thể đễ dàng đưa vào ứng dụng của bạn. Khi một chương trình của bạn khá lớn, lúc này bạn phải chia nhỏ chương trình của mình ra thành nhiều nhánh nhỏ để cho tiện việc quản lý cũng như gọi lại chúng khi cần. Trong phần này, bạn sẽ tìm hiểu làm thế nào để tạo ra một module trong python, cách sử dụng cũng như biết được một số module có sẵn của ngôn ngữ python.

Show

    Để tạo một module trong python, chúng ta viết code trong một file python và lưu với phần mở rộng là

    from mymodule import generate_full_name, sum_two_nums, person, gravity
    print(generate_full_name('Chanh','Phan Nhat'))
    print(sum_two_nums(1,9))
    mass = 100;
    weight = mass * gravity # trọng lượng = khối lượng * trọng lực
    print(weight)
    print(person['firstname'])
    1 Ví dụ tạo một tệp có tên mymodule.py (trong đó: mymodule tên, .py là phần mở rộng) bên trong thư mục dự án của bạn như sau:

    def generate_full_name(firstname, lastname):
        space = ' '
        fullname = firstname + space + lastname
        return fullname

    Tiếp theo, bạn sẽ tạo tệp có tên main.py trong thư mục dự án của bạn và import file mymodule.py

    Để import một module trong python, chúng ta chỉ sử dụng từ khóa import và tên của tệp. Vậy ta viết code của file main.py như sau:

    file main.py

    import mymodule
    print(mymodule.generate_full_name('Chanh', 'Phan Nhat'))

    Chúng ta có thể có nhiều hàm trong một file module và chúng ta có thể nhập tất cả các hàm theo nhiều cách khác nhau.

    file main.py

    from mymodule import generate_full_name, sum_two_nums, person, gravity
    print(generate_full_name('Chanh','Phan Nhat'))
    print(sum_two_nums(1,9))
    mass = 100;
    weight = mass * gravity # trọng lượng = khối lượng * trọng lực
    print(weight)
    print(person['firstname'])

    Khi Import một module, chúng ta có thể đổi tên tên của nó bằng cách sử dụng as

    file main.py

    from mymodule import generate_full_name as fullname, sum_two_nums as total, person as p, gravity as g
    print(fullname('Chanh','Phan Nhat'))
    print(total(1,9))
    mass = 100;
    weight = mass * g
    print(weight)
    print(p)
    print(p['firstname'])

    Giống như các ngôn ngữ lập trình khác, chúng ta cũng có thể import các mô-đun bằng cách nhập tên tệp/hàm bằng cách sử dụng từ khóa import. Một số module sữ dụng phổ biến đã được tích hợp sẵn trong python như: math, datetime, os, sys, random, statistics, collections, json, re

    Module OS có thể tự động thực hiện nhiều chức năng tương tác với hệ điều hành. Module OS trong Python cung cấp các chức năng để tạo, thay đổi thư mục làm việc hiện tại và xóa thư mục, đọc file,...

    # import module
    import os
     
    # Tạo một thư mục
    os.mkdir('directory_name')
     
    # Thay đổi thư mục hiện tại
    os.chdir('path')
     
    # Lấy thư mục làm việc hiện tại
    os.getcwd()
     
    # Xóa thư mục
    os.rmdir()

    Module sys cung cấp các hàm và biến được sử dụng để thao tác các phần khác nhau của môi trường thời gian chạy Python. Hàm sys.argv trả về danh sách các đối số dòng lệnh được truyền cho tập lệnh Python. Đối số (argument) thứ 0 (argv[0]) trong danh sách (list) này luôn là tên của một tệp tin, đối số thứ 1 (argv1) là đối số được truyền vào từ dòng lệnh.

    Ví dụ bạn sẽ tạo một file có tên script.py như sau:

    import sys
    #print(sys.argv[0], argv[1], sys.argv[2])  # dòng này sẽ in ra: filename argument1 argument2
    print('Welcome {}. Enjoy {} challenge!'.format(sys.argv[1], sys.argv[2]))

    Bây giờ để kiểm tra cách hoạt động của file script.py bằng cách mở terminal và chạy lệnh sau và truyền các đối số cho nó:

    Terminal

    python script.py Chanh PythonBasic

    Kết quả ta thu được sẽ là:

    Welcome Chanh. Enjoy PythonBasic challenge! 

    Một số lệnh của thư viên sys hữu ích:

    # Thoát khỏi hệ thống
    sys.exit()
     
    # Biết biến số nguyên lớn nhất
    sys.maxsize
     
    # Biết đường dẫn môi trường làm việc
    sys.path
     
    # Phiên bản python bạn đang sử dụng
    sys.version

    Module Statistics cung cấp một số functions để thống kê dữ liệu dạng số. Một số hàm phổ biến của statistics được xác định trong module này là: mean, median, mode, stdev,...

    from statistics import * # import statistics modules
    ages = [20,20,24,24,25,22,26,20,23,22,26]
    print(mean(ages))       # 22.90909090909091
    print(median(ages))     # 23
    print(mode(ages))       # 20
    print(stdev(ages))      # 2.3001976199685736

    Module chứa nhiều phép toán (mathematical) và hằng số (constants).

    import mymodule
    print(mymodule.generate_full_name('Chanh', 'Phan Nhat'))
    0

    Bây giờ, chúng ta sẽ import module toán học để thực hiện các phép tính. Để kiểm tra các hàm có sẵn trong module, bạn có thể sử dụng help(math) hoặc dir(math). Nếu bạn chỉ muốn nhập một hàm cụ thể để sử dụng từ module, bạn sẽ import theo cấu trúc như sau:

    import mymodule
    print(mymodule.generate_full_name('Chanh', 'Phan Nhat'))
    1

    Hặc bạn cũng có thể import nhiều hàm cùng một lúc bằng cách:

    import mymodule
    print(mymodule.generate_full_name('Chanh', 'Phan Nhat'))
    2

    Nhưng nếu bạn muốn nhập tất cả các hàm có sẵn trong module, bạn có thể sử dụng dấu

    from mymodule import generate_full_name, sum_two_nums, person, gravity
    print(generate_full_name('Chanh','Phan Nhat'))
    print(sum_two_nums(1,9))
    mass = 100;
    weight = mass * gravity # trọng lượng = khối lượng * trọng lực
    print(weight)
    print(person['firstname'])
    2 với cú pháp như sau:

    import mymodule
    print(mymodule.generate_full_name('Chanh', 'Phan Nhat'))
    3

    Khi import chúng ta cũng có thể đổi tên hàm bằng cách sử dụng as như sau:

    import mymodule
    print(mymodule.generate_full_name('Chanh', 'Phan Nhat'))
    4

    Một Module hữu ích có thể sử dụng cho nhiều mục đích khác nhau. Dưới đây là một ví dụ để lấy các ký tự (chuỗi) đặt biệt mà chúng ta có thể lấy từ module string như sau:

    import mymodule
    print(mymodule.generate_full_name('Chanh', 'Phan Nhat'))
    5

    Nãy giờ bạn đã quen với việc import các module tự tạo hoặc có sẵn. Hãy thực hiện thêm một lần import nữa để làm quen với nó. Hãy import một module có tên ramdom (ngẫu nhiên) và in ra một số ngẫu nhiên từ 0 đến 0,9999. Có rất nhiều hàm trong module ramdom nhưng trong phần này chúng ta sẽ chỉ sử dụng random và randint.