CyStack logo
  • Sản phẩm & Dịch vụ
  • Giải pháp
  • Bảng giá
  • Công ty
  • Tài liệu
Vi

vi

Mục lục

Trang chủBlogCách thực thi lệnh hệ thố...
Chuyên gia

Cách thực thi lệnh hệ thống trong Python – os.system(), subprocess.call()

3 phút đọc17/08/2025
CyStack Author
Chris Pham

Technical Writer

0 lượt xem
Reading Time: 3 minutes

Trong hướng dẫn này, chúng ta sẽ tìm hiểu về cách thực thi lệnh hệ thống trong Python.

lệnh hệ thống trong Python

Lệnh hệ thống trong Python

Khi viết chương trình bằng Python, đôi khi bạn sẽ cần thực thi một số lệnh shell để phục vụ cho chương trình của mình. Ví dụ, nếu sử dụng PyCharm IDE, bạn có thể thấy rằng có tùy chọn chia sẻ dự án lên GitHub. Và có lẽ bạn cũng biết rằng việc truyền tải file này được thực hiện thông qua git, một công cụ vận hành bằng dòng lệnh. Do đó, PyCharm đã thực thi một số lệnh shell ngầm phía sau để thực hiện việc đó.

Trong bài hướng dẫn này, chúng ta sẽ tìm hiểu những kiến thức cơ bản về cách thực thi lệnh shell từ mã Python.

Hàm os.system() trong Python

Chúng ta có thể thực thi lệnh hệ thống bằng cách sử dụng hàm os.system(). Theo tài liệu chính thức, hàm này:

Được triển khai bằng cách gọi hàm system() trong ngôn ngữ C chuẩn, và có cùng các giới hạn.

Tuy nhiên, nếu lệnh tạo ra bất kỳ đầu ra nào, thì đầu ra đó sẽ được gửi đến luồng xuất tiêu chuẩn của trình thông dịch Python. Việc sử dụng hàm này không được khuyến khích.

Trong đoạn mã sau đây, chúng ta sẽ thử kiểm tra phiên bản của Git bằng cách sử dụng lệnh hệ thống git --version.

import os

cmd = "git --version"

returned_value = os.system(cmd)  # returns the exit code in unix
print('returned value:', returned_value)

Kết quả sau đây được tìm thấy trên Ubuntu 16.04, nơi Git đã được cài đặt sẵn.

git version 2.14.2
returned value: 0

Lưu ý rằng chúng ta không chủ động in kết quả của lệnh git --version ra màn hình, mà nó được in ra vì console chính là luồng xuất tiêu chuẩn trong trường hợp này.

Hàm subprocess.call() trong Python

Ở phần trước, chúng ta đã thấy rằng hàm os.system() hoạt động tốt. Tuy nhiên, đó không phải là cách được khuyến nghị để thực thi các lệnh shell. Thay vào đó, chúng ta sẽ sử dụng mô-đun subprocess trong Python để chạy lệnh hệ thống.

Chúng ta có thể chạy các lệnh shell bằng cách sử dụng hàm subprocess.call(). Hãy xem đoạn mã sau, vốn tương đương với đoạn mã sử dụng os.system() ở phần trước.

import subprocess

cmd = "git --version"

returned_value = subprocess.call(cmd, shell=True)  # returns the exit code in unix
print('returned value:', returned_value)

Và kết quả đầu ra cũng sẽ giống y như vậy.

python system command

Hàm subprocess.check_output() trong Python

Cho đến giờ, chúng ta đã thực thi các lệnh hệ thống bằng Python, nhưng vẫn chưa thể xử lý được kết quả đầu ra do các lệnh đó tạo ra. Với hàm subprocess.check_output(), chúng ta có thể lưu kết quả đầu ra vào một biến để dễ dàng thao tác hoặc xử lý sau đó.

import subprocess

cmd = "date"

# returns output as byte string
returned_output = subprocess.check_output(cmd)

# using decode() function to convert byte string to string
print('Current date is:', returned_output.decode("utf-8"))

Nó sẽ tạo ra kết quả đầu ra như sau:

Current date is: Thu Oct  5 16:31:41 IST 2017

Vậy là trong các phần trên, chúng ta đã thảo luận về những ý tưởng cơ bản liên quan đến việc thực thi lệnh hệ thống trong Python.

Về tác giả

Chris Pham
Chris PhamTechnical Writer

I have over 5 years of experience writing technical documentation for tech products, making them accessible and user-friendly. My focus is always on providing clear and precise information. @#@ Tôi đã có hơn 5 năm kinh nghiệm viết tài liệu kỹ thuật cho các sản phẩm công nghệ, giúp người dùng dễ dàng tiếp cận và sử dụng. Tôi luôn tập trung vào việc cung cấp thông tin chính xác và dễ hiểu.

Cập nhật thông tin mới nhấtNhận các thông tin mới nhất về mối đe dọa, báo cáo an ninh mạng từ CyStack về hòm thư điện tử của bạn

Thảo luận (0)

Đăng nhập để thảo luận

Bài viết liên quan