Vietnamese [Tiếng Việt] translation by Dai Phong [you can also view the original English article] Dai Phong [you can also view the original English article]
Unix là một hệ ĐIềU Đó là nhiều lệnh unix thú vị mà chún ta là Câu hỏi đặt ra là, chún taó đó Đây là những gì tôms
LệNH unix
import subprocess time = subprocess.Popen['date', stdout=subprocess.PIPE, stderr=subprocess.PIPE] output, err = time.communicate[] print 'It is', output8 liệt kÊ Tất Cả Các tập Tin Trong Thư Mục. Nếu bạn Để Nguynênn ________ 48 & nbsp; trong một script python, thÌ
Traceback [most recent call last]: File "test.py", line 1, in ls NameError: name 'ls' is not defined
Điề
os.system[]
Một Giải Phá
Như đã đề cập trong tài liệu hướng dẫn,
import subprocess time = subprocess.check_output['date'] print 'It is', time1:
Thực thi lệnh [một chuỗi] trong một shell con. Điều này được thực hiện bằng cách gọi hàm system tiêu chuẩn của ngôn ngữ C, và có những hạn chế tương tự.
Như vậy, chúng ta có thể chạy lệnh
import subprocess time = subprocess.Popen['date', stdout=subprocess.PIPE, stderr=subprocess.PIPE] output, err = time.communicate[] print 'It is', output8 bằng Python như sau:
import os os.system['ls']
Điều này sẽ trả về danh sách các tập tin trong thư mục hiện tại của bạn, đó là nơi chứa chương trình
import subprocess time = subprocess.check_output['date'] print 'It is', time5 của bạn.
Hãy lấy một ví dụ khác. Nếu bạn muốn trả về ngày và giờ hiện tại, bạn có thể sử dụng lệnh lệnh
import subprocess time = subprocess.check_output['date'] print 'It is', time6 của Unix như sau:
import os os.system['date']
Trong trường hợp của tôi, đây là kết quả mà tôi nhận được từ script trên:
import subprocess time = subprocess.check_output['date'] print 'It is', time7
call[]
Mặc dù
import subprocess time = subprocess.check_output['date'] print 'It is', time1 làm việc tốt, nhưng nó không được khuyến khích sử dụng vì nó được xem như đã cũ và không được hỗ trợ. Một giải pháp được khuyến khích hơn đó là hàm
import subprocess time = subprocess.check_output['date'] print 'It is', time9 nằm trong mô-đun
import os
0 của Python. Như đề cập trong tài liệu hướng dẫn về hàm này:Thực thi lệnh được mô tả bởi args. Chờ cho lệnh thực thi xong, sau đó trả về thuộc tính returncode.
Nếu chúng ta muốn chạy lệnh
import subprocess time = subprocess.Popen['date', stdout=subprocess.PIPE, stderr=subprocess.PIPE] output, err = time.communicate[] print 'It is', output8 của Unix bằng phương thức này, chúng ta có thể làm như sau:
from subprocess import call call['ls']
Hãy xem làm thế nào chúng ta có thể trả về ngày bằng mô-đun
import os
0, nhưng chúng ta hãy làm cho ví dụ trở nên thú vị hơn.import subprocess time = subprocess.Popen['date', stdout=subprocess.PIPE, stderr=subprocess.PIPE] output, err = time.communicate[] print 'It is', output
Ví dụ ở trên có thể được chạy đơn giản hơn bằng cách sử dụng
import os
3, như sau:import subprocess time = subprocess.check_output['date'] print 'It is', time
Đầu ra của script ở trên là:
import os
4Các ví dụ ở trên cho thấy tính linh hoạt trong việc sử dụng các hàm khác nhau của
import os
0 và cách chúng ta có thể truyền kết quả vào các biến để thực hiện các hoạt động tiếp theo.Tóm tắt
Như chúng ta đã thấy trong hướng dẫn này, các lệnh Unix có thể được gọi và thực thi bằng mô-đun
import os
0, nó cung cấp tính linh hoạt cao khi làm việc với các lệnh Unix thông qua các hàm khác nhau của nó. Bạn có thể tìm hiểu thêm về mô-đun này và các hàm khác nhau của nó từ tài liệu hướng dẫn Python.Nếu bạn muốn tìm hiểu làm thế nào các chức năng này hoạt động đằng sau hậu trường và cách bạn có thể sử dụng toàn bộ sức mạnh của chúng, thì bài viết này là dành cho bạn. Chúng tôi sẽ bắt đầu bằng cách lặn vào các khái niệm rất cần thiết để làm việc với 🔹 Chào mừng
7 và import os
8:import os
- Mô-đun Python
import subprocess time = subprocess.check_output['date'] print 'It is', time
2 tích hợp và cách nhập nó. - Các khái niệm về "thư mục" và "thư mục làm việc hiện tại".
- Cách kiểm tra và thay đổi thư mục làm việc hiện tại của bạn.
- Sự khác biệt giữa một con đường tuyệt đối và một con đường tương đối.
Sau đó, chúng tôi sẽ tự đi sâu vào các chức năng:
- Cách làm việc với chức năng
7 và khi nào nên sử dụng nó.import os
- Cách làm việc với chức năng
1 và khi nào nên sử dụng nó.os.[]
- Ví dụ về cả hai và cách họ làm việc đằng sau hậu trường.
Hãy bắt đầu nào! ⭐
🔸 Mô -đun HĐH
Hai chức năng mà chúng ta sẽ thảo luận:
os.[]
2 và os.[]
3 thuộc về mô -đun import subprocess time = subprocess.check_output['date'] print 'It is', time2. Mô -đun này bao gồm các chức năng được sử dụng để tương tác với hệ điều hành của bạn, thực hiện các hành động như:
- Tạo một thư mục mới.
- Đổi tên một thư mục hiện có.
- Loại bỏ một thư mục.
- Hiển thị đường dẫn đến thư mục làm việc hiện tại của bạn.
- Nhiều hơn nữa!
💡 Mẹo:
- Một thư mục là những gì chúng ta thường biết là một "thư mục", nơi chúng ta thường lưu trữ các tệp liên quan và/hoặc các thư mục khác, tạo một hệ thống phân cấp các thư mục trong các thư mục được gọi là thư mục con. Một ví dụ về thư mục là thư mục "tài liệu" của bạn.directory is what we commonly know as a "folder", where we usually store related files and/or other directories, creating a hierarchy of directories within directories that are called subdirectories. An example of a directory is your "Documents" folder.
- Một mô -đun là một tệp chứa mã Python liên quan.module is a file that contains related Python code.
Cách nhập mô -đun HĐH
Để sử dụng mô -đun
import subprocess time = subprocess.check_output['date'] print 'It is', time2 trong tập lệnh của bạn, bạn cần "nhập" nó. Nhập một mô -đun có nghĩa là đạt được quyền truy cập vào tất cả các chức năng và biến được lưu trữ trong mô -đun. Chúng tôi nhập một mô -đun khi chúng tôi muốn sử dụng mã của nó trong tập lệnh của chúng tôi.
Để nhập mô -đun
import subprocess time = subprocess.check_output['date'] print 'It is', time2, bạn chỉ cần đưa dòng này vào đầu tập lệnh Python của bạn hoặc chạy dòng này trong shell tương tác:
import os
Điều này sẽ cho phép bạn truy cập vào tất cả các chức năng được xác định trong mô -đun
import subprocess time = subprocess.check_output['date'] print 'It is', time2.
Mẹo: Mô -đun này đã được cài đặt khi bạn cài đặt Python 3, vì vậy bạn sẽ có thể sử dụng nó ngay lập tức. this module was already installed when you installed Python 3, so you will be able to use it immediately.
Để có thể sử dụng các chức năng từ mô -đun
import subprocess time = subprocess.check_output['date'] print 'It is', time2, bạn sẽ cần thêm tiền tố
os.[]
9 trước tên của chức năng mà bạn muốn gọi, như thế này:os.[]
Ví dụ:
os.mkdir["New Folder"]
Cách nhập các chức năng riêng lẻ
Nếu bạn chỉ làm việc với một hoặc hai chức năng từ mô -đun, bạn có thể nhập chúng riêng lẻ bằng cú pháp này:
from import , , ...
Ví dụ:
import os os.system['ls']0
Cách nhập các chức năng riêng lẻwithout adding the
os.[]
9 prefix, like this:import os os.system['ls']1
Ví dụ:
import os os.system['ls']2
Cách nhập các chức năng riêng lẻ
Nếu bạn chỉ làm việc với một hoặc hai chức năng từ mô -đun, bạn có thể nhập chúng riêng lẻ bằng cú pháp này:
Trong trường hợp này, bạn có thể gọi các chức năng trong tập lệnh của mình như bình thường, mà không cần thêm tiền tố
os.[]
9, như thế này:import os os.system['ls']3
🔹 Thư mục làm việc hiện tại
Bây giờ chúng ta hãy xem một khái niệm rất quan trọng mà bạn cần biết trước khi bắt đầu làm việc với
import os
7 và import os
8. Thư mục làm việc hiện tại của bạn, như tên gọi, là thư mục [thư mục] nơi bạn hiện đang làm việc.Tip: os.mkdir["New Folder"]
4 means "current working
directory."
Bạn có thể kiểm tra thư mục làm việc hiện tại của mình với chức năng này từ mô -đun import subprocess
time = subprocess.check_output['date']
print 'It is', time
2:
Điều này sẽ cho bạn thấy con đường đến thư mục làm việc hiện tại của bạn.
import os os.system['ls']4
Mẹo:
os.mkdir["New Folder"]
4 có nghĩa là "thư mục làm việc hiện tại."import os os.system['ls']5
Từ vỏ tương tác
Nếu tôi chạy lệnh này trong shell tương tác [Windows], tôi sẽ thấy điều này:
import os os.system['ls']6
Đây là con đường đầy đủ đến thư mục làm việc hiện tại của tôi:
import os os.system['ls']7
Từ một kịch bản
Nếu tôi chạy lệnh này từ một tập lệnh, như thế này:Tip: If you run a script [a Python file], your current working directory is the directory where the script is currently in.
Tôi thấy:
Đường dẫn đầy đủ đến kịch bản [vị trí của nó trong hệ thống, trong hệ thống phân cấp thư mục].
import os os.system['ls']8
Mẹo: Nếu bạn chạy tập lệnh [tệp Python], thư mục làm việc hiện tại của bạn là thư mục nơi tập lệnh hiện đang ở.
Cách thay đổi thư mục làm việc hiện tại của bạnTip:
- Bạn có thể thay đổi thư mục làm việc hiện tại của mình với lệnh này từ mô -đun
import subprocess time = subprocess.check_output['date'] print 'It is', time
2:absolute path specifies all the sequence of directories that you need to go through to reach your target directory. This path starts from the root directory of your system.
Ví dụ:
import os os.system['ls']9
Cách nhập các chức năng riêng lẻ
Nếu bạn chỉ làm việc với một hoặc hai chức năng từ mô -đun, bạn có thể nhập chúng riêng lẻ bằng cú pháp này:
import os os.system['date']0
- Trong trường hợp này, bạn có thể gọi các chức năng trong tập lệnh của mình như bình thường, mà không cần thêm tiền tố
9, như thế này:relative path specifies the path that you want to follow to find the target directory, but now the path starts from your current working directory. It's shorter and simpler than the absolute path.os.[]
Ví dụ: nếu thư mục làm việc hiện tại của bạn chứa một thư mục con [thư mục]
from import , , ...
2, bạn có thể chuyển sang thư mục này bằng đường dẫn tương đối [hãy tưởng tượng nó là một thư mục trong một thư mục khác và chúng ta sẽ đi sâu hơn và sâu hơn vào hệ thống phân cấp], như thế này :import os os.system['date']1
Mẹo: DOT [
from import , , ...
3] ở đầu đường dẫn tương đối from import , , ...
4 đại diện cho thư mục làm việc hiện tại. Một dấu chấm kép [from import , , ...
5] được sử dụng để di chuyển phân cấp, đến thư mục "cha mẹ".Tip: The dot [from import , , ...
3] at the beginning of the relative path from import , , ...
4 represents the current working directory. A double dot [ from import , , ...
5] is used to move up the hierarchy, to the "parent" directory.Bây giờ bạn có tất cả kiến thức nền tảng mà bạn sẽ cần để thực sự hiểu cách
import os
7 và import os
8 làm việc, hãy xem chúng một cách chi tiết.
Chúng tôi sẽ bắt đầu với chức năng
import os
7. Hãy tiết lộ những bí ẩn của nó. ?Mục đích và giá trị trả lại
Theo tài liệu Python, mục đích của chức năng này là:
Trả về một danh sách chứa tên của các mục trong thư mục được đưa ra bởi đường dẫn.
Về cơ bản, chức năng này trả về một danh sách với tên của tất cả các tệp và thư mục hiện đang được tìm thấy trong một thư mục cụ thể mà bạn chỉ định khi bạn gọi chức năng.
Mẹo: Danh sách sẽ không có thứ tự cụ thể, ngay cả khi bạn thường sắp xếp các phần tử theo thứ tự bảng chữ cái.Tip: The list will not have a specific order, even if you usually sort the elements alphabetically.
Cú pháp và tham số
Để gọi
import os
7, sẽ cần sử dụng cú pháp này:Tham số
import os os.system['ls']00 chính xác là, đường dẫn tuyệt đối hoặc tương đối đến thư mục mà bạn muốn trực quan hóa. Trong Python 3.2 trở lên, tham số này là tùy chọn. Theo mặc định, đường dẫn sẽ dẫn đến thư mục làm việc hiện tại của bạn nếu bạn không vượt qua đối số.
Hãy nhớ rằng bạn phải nhập mô -đun
import subprocess time = subprocess.check_output['date'] print 'It is', time2 trước khi gọi chức năng này.
Mẹo: Nếu bạn sử dụng câu lệnh nhập khẩu này
import os os.system['ls']02 để nhập chức năng riêng lẻ, bạn có thể bỏ qua tiền tố
os.[]
9, như thế này:Tip: If you use this import statement import os os.system['ls']02 to import the function individually, you can omit the
os.[]
9 prefix, like this:Sử dụng các trường hợp và lợi thế
Hàm
import os
7 rất hữu ích vì nó hoạt động trên bất kỳ hệ điều hành nào mà Python chạy, vì vậy nếu Python được cài đặt trên thiết bị của bạn, chức năng này sẽ hoạt động chính xác.Bây giờ chúng ta hãy nói một chút về giá trị trả lại của nó. Vì nó trả về một danh sách, chúng tôi có thể lưu trữ danh sách này trong một biến và làm việc với nó trong chương trình của chúng tôi.
Ví dụ: hãy nói rằng chúng tôi muốn làm một cái gì đó với tất cả các tệp từ một thư mục nhất định, chẳng hạn như chuyển đổi hình ảnh thành màu đen và trắng hoặc sửa đổi nội dung của chúng. Chúng tôi có thể làm điều đó bằng cách sử dụng một vòng lặp, như thế này:
import os os.system['date']2
Tất nhiên, bạn sẽ cần xác định những gì xảy ra trong vòng lặp, nhưng đây là một ví dụ về những gì bạn có thể làm với chức năng này.
Điều này là tuyệt vời, phải không?
Nhưng có các tập tin và thư mục trong cùng một danh sách có thể có một chút vấn đề nếu chúng ta muốn làm việc với một vòng lặp, phải không? Chúng tôi sẽ cần thêm một điều kiện để kiểm tra loại của từng phần tử. Làm thế nào chúng ta có thể lập một danh sách chỉ chứa tên tệp [không có thư mục] hoặc ngược lại?
Hãy xem nào! ✨
Chỉ bao gồm các tập tin
Nếu bạn muốn "lọc" danh sách được trả về bởi
import os os.system['ls']05 để chỉ bao gồm các tệp [không có thư mục], bạn có thể sử dụng dòng mã này:files [no directories] you can use this line of code:
import os os.system['date']3
Mẹo: Bạn có thể tùy chỉnh đối số
import os os.system['ls']06 hoặc bỏ qua nó để sử dụng thư mục làm việc hiện tại của bạn.Tip: You can customize the
import os os.system['ls']06 argument or omit it to use your current working directory.
Hãy xem một ví dụ với thư mục làm việc hiện tại của tôi [tôi đang sử dụng Windows]:
Thư mục của tôi [thư mục] có:
- Hai thư mục con [thư mục trong thư mục chính]
- Một tệp PowerPoint
- Một hình ảnh [tệp .png]
- Một kịch bản Python
Nếu tôi gọi hàm
import os
7 từ tệp import os os.system['ls']08 và in danh sách được trả về:
import os os.system['date']4
Đây là đầu ra:
import os os.system['date']5
Bạn có thể thấy rằng tất cả các tệp và thư mục từ thư mục làm việc hiện tại của tôi đã được bao gồm.
Để lọc danh sách chỉ chứa các tệp, chúng ta có thể sử dụng câu lệnh này:
import os os.system['date']6
Bây giờ đầu ra là:
import os os.system['date']7
Lưu ý cách các thư mục được "lọc", chính xác là những gì chúng tôi muốn.
Chỉ bao gồm các thư mục
Tương tự, nếu bạn muốn "lọc" danh sách để chỉ bao gồm các thư mục, bạn có thể sử dụng dòng mã này:directories, you can use this line of code:
import os os.system['date']8
Bây giờ đầu ra là:
import os os.system['date']9
Lưu ý cách các thư mục được "lọc", chính xác là những gì chúng tôi muốn.
Chỉ bao gồm các thư mục
Tương tự, nếu bạn muốn "lọc" danh sách để chỉ bao gồm các thư mục, bạn có thể sử dụng dòng mã này:
from subprocess import call call['ls']0
Chính xác những gì chúng tôi muốn. Nhưng làm thế nào để tuyên bố này hoạt động đằng sau hậu trường? Hãy xem nào.
import os os.system['date']6
from subprocess import call call['ls']2
Cách
import os os.system['ls']09 hoạt động đằng sau hậu trường
from subprocess import call call['ls']3
Hàm bộ lọc được gọi bằng cách sử dụng cú pháp này:
Về cơ bản, nó "các bộ lọc" các yếu tố của đối số thứ hai [danh sách] dựa trên giá trị sự thật được trả về bằng cách gọi hàm được truyền dưới dạng đối số đầu tiên [
import os os.system['ls']10 hoặc
import os os.system['ls']11 trong các lệnh tương ứng của chúng]:
Ví dụ: nếu chúng ta có dòng mã này:
from subprocess import call call['ls']4
Và
import os os.system['ls']05 Trả về danh sách này:
from subprocess import call call['ls']5
Yếu tố đầu tiên của danh sách [
import os os.system['ls']15] được chuyển làm đối số cho
import os os.system['ls']10 để kiểm tra xem đó có phải là tệp không:
from subprocess import call call['ls']6 Cuộc gọi chức năng trả về
import os os.system['ls']12, vì vậy đó là một tệp và nó được bao gồm trong danh sách.
The function call returns
import os os.system['ls']12, so it's a file and it's included in the list.
Nhưng nếu phần tử là một thư mục:
from subprocess import call call['ls']7 Cuộc gọi chức năng trả về
import os os.system['ls']18, vì vậy nó không được đưa vào danh sách. Quá trình này tiếp tục cho mọi yếu tố trong danh sách cho đến khi danh sách mới chỉ chứa tên tệp.
The function call returns
import os os.system['ls']18, so it's not included in the list. This process continues for every element in the list until the new list only contains file names.
Sau đó, kể từ khi
import os os.system['ls']09 trả về một điều đáng tin cậy, chúng tôi lập một danh sách từ điều này có thể sử dụng
import os os.system['ls']20:
from subprocess import call call['ls']8
Và chúng tôi in nó vì chúng tôi đang làm việc với tệp Python [tập lệnh]:
import os os.system['date']6
Mẹo: Bạn có thể xác định trực quan xem một phần tử của danh sách đại diện cho một tệp hoặc thư mục bằng cách xem nó có mở rộng [loại] sau tên của nó không. Ví dụ:
import os os.system['ls']21 có tiện ích mở rộng
import os os.system['ls']22 cho bạn biết rằng đó là tệp PowerPoint nhưng thư mục không có phần mở rộng, như
import os os.system['ls']23.Tip: You can visually identify if an element of the list represents a file or a directory by seeing if it has an extension [type] after its name. For example:
import os os.system['ls']21 has a
import os os.system['ls']22 extension that tells you that it's a PowerPoint file but a directory doesn't have an extension, like
import os os.system['ls']23.
Hệ thống ["LS"]
Bây giờ bạn đã biết cách làm việc với
import os
7, hãy xem chức năng os.[]
3 hoạt động như thế nào và cách bạn có thể sử dụng nó.Mục đích
Theo tài liệu Python, mục đích của hàm
os.[]
3 là:Thực thi lệnh [một chuỗi] trong một vỏ bọc
Về cơ bản, hàm này có một lệnh [như một chuỗi] và thực thi nó.
Trong trường hợp này, lệnh mà chúng tôi đang truyền là
import os os.system['ls']27, một lệnh UNIX được sử dụng trong Linux để hiển thị nội dung của thư mục dưới dạng đầu ra tiêu chuẩn.
Không giống như
import os
7, hàm os.[]
3 sẽ không trả lại danh sách nếu chúng tôi vượt qua lệnh import os os.system['ls']27, nó sẽ chỉ hiển thị danh sách các tệp và thư mục dưới dạng đầu ra tiêu chuẩn. Do đó, bạn nên sử dụng nó nếu bạn chỉ muốn trực quan hóa danh sách mà không thực sự làm việc với nó trong chương trình của bạn.will not return a list if we pass the
import os os.system['ls']27 command, it will only display the list of files and directories as standard output. Therefore, you should use it if you only want to visualize the list without actually working with it in your program.
Cú pháp và tham số
Để gọi chức năng này, bạn sẽ cần sử dụng cú pháp này:
Đối số duy nhất của nó là lệnh mà bạn muốn thực thi được định dạng dưới dạng chuỗi [được bao quanh bởi các trích dẫn kép hoặc trích dẫn đơn].
Đặc biệt, lệnh
import subprocess time = subprocess.Popen['date', stdout=subprocess.PIPE, stderr=subprocess.PIPE] output, err = time.communicate[] print 'It is', output8 cho phép bạn xem nội dung của thư mục làm việc hiện tại của bạn.
Ví dụ: nếu đây là thư mục làm việc của tôi [ba tệp Python và một thư mục con]:
Và tôi gọi hàm
os.[]
3, như thế này:import subprocess time = subprocess.Popen['date', stdout=subprocess.PIPE, stderr=subprocess.PIPE] output, err = time.communicate[] print 'It is', output0
Đây là đầu ra:
import subprocess time = subprocess.Popen['date', stdout=subprocess.PIPE, stderr=subprocess.PIPE] output, err = time.communicate[] print 'It is', output1
Chúng ta có thể thấy đầu ra tiêu chuẩn trong bảng điều khiển [danh sách các tệp và thư mục]:
import subprocess time = subprocess.Popen['date', stdout=subprocess.PIPE, stderr=subprocess.PIPE] output, err = time.communicate[] print 'It is', output2
và giá trị trả về:
import subprocess time = subprocess.Popen['date', stdout=subprocess.PIPE, stderr=subprocess.PIPE] output, err = time.communicate[] print 'It is', output3
💡 Lưu ý: Đối với các ví dụ về chức năng
os.[]
3 này, tôi đang làm việc với một công cụ dòng lệnh trực tuyến có tên Repress.it vì máy tính của tôi đã cài đặt Windows và lệnh import subprocess time = subprocess.Popen['date', stdout=subprocess.PIPE, stderr=subprocess.PIPE] output, err = time.communicate[] print 'It is', output8 không được nhận ra bởi dấu nhắc lệnh mặc định.Note: For these examples of the
os.[]
3 function, I'm working with an online command line tool called Repl.it
since my computer has Windows installed and the command import subprocess time = subprocess.Popen['date', stdout=subprocess.PIPE, stderr=subprocess.PIPE] output, err = time.communicate[] print 'It is', output8 is not recognized by the default command prompt.
Giới hạn
Một trong những hạn chế chính của chức năng này là lệnh được thông qua là đối số phải được công nhận bởi hệ điều hành hoặc môi trường mà bạn đang làm việc.
Ví dụ: lệnh
import subprocess time = subprocess.Popen['date', stdout=subprocess.PIPE, stderr=subprocess.PIPE] output, err = time.communicate[] print 'It is', output8 sẽ không được nhận ra trong Windows theo mặc định trong dấu nhắc lệnh. Bạn sẽ thấy lỗi này nếu bạn cố gắng chạy nó:
'LS' không được công nhận là lệnh bên trong hoặc bên ngoài, chương trình có thể vận hành hoặc tệp hàng loạt.
Một lệnh tương tự trong Windows sẽ là lệnh
import os os.system['ls']36:
import subprocess time = subprocess.Popen['date', stdout=subprocess.PIPE, stderr=subprocess.PIPE] output, err = time.communicate[] print 'It is', output4
Mẹo: Có nhiều cách khác để chạy lệnh import subprocess
time = subprocess.Popen['date', stdout=subprocess.PIPE, stderr=subprocess.PIPE]
output, err = time.communicate[]
print 'It is', output
8 trên Windows, chẳng hạn như sử dụng các chương trình đầu cuối nhận ra các lệnh Unix, nhưng theo mặc định, Windows không nhận ra lệnh import os
os.system['ls']
27. There are alternative ways to run the
import subprocess time = subprocess.Popen['date', stdout=subprocess.PIPE, stderr=subprocess.PIPE] output, err = time.communicate[] print 'It is', output8 command on Windows, such as using terminal programs that recognize Unix commands, but by default Windows does not recognize the
import os os.system['ls']27 command.
Giá trị trả về
Theo tài liệu Python:
Trên Unix, giá trị trả về là trạng thái thoát của quy trình được mã hóa theo định dạng được chỉ định choimport os os.system['ls']39.
and...
Trên Windows, giá trị trả về được trả về bởi lệnh System Shell sau khi chạy.
Mẹo: Lưu ý rằng chức năng này không trả lại danh sách. Nó chỉ đơn giản hiển thị danh sách dưới dạng đầu ra tiêu chuẩn, vì vậy bạn không thể lưu trữ nó trong một biến như bạn đã làm với
import os
7.Tip: Note that this
function does not return a list. It simply displays the list as standard output, so you can't store it in a variable like you did with import os
7.Biến thể của lệnh import subprocess
time = subprocess.Popen['date', stdout=subprocess.PIPE, stderr=subprocess.PIPE]
output, err = time.communicate[]
print 'It is', output
8
Một tính năng chính của
import os os.system['ls']42 là nó có nhiều tùy chọn hữu ích và thú vị để tùy chỉnh cách trình bày đầu ra. Hãy xem một số trong số họ.
Tùy chọn 1: Chúng tôi có thể hiển thị thêm thông tin về các tệp và thư mục như kích thước, vị trí và ngày sửa đổi của chúng bằng lệnh import os
os.system['ls']
43. We can show more information about files and directories such as their size, location, and
modification date and time using the command
import os os.system['ls']43.
import subprocess time = subprocess.Popen['date', stdout=subprocess.PIPE, stderr=subprocess.PIPE] output, err = time.communicate[] print 'It is', output5
Tùy chọn 2: Để có thể nhận biết trực quan các thư mục nhanh hơn, chúng ta có thể sử dụng import os
os.system['ls']
44, điều này thêm một dấu gạch chéo phía trước
1 vào cuối tên của họ [xem from import , , ...
import os
os.system['ls']
46 bên dưới].To be able to visually recognize directories faster, we can use
import os os.system['ls']44, which adds a forward slash
from import , , ...
1 to the end of their names [see import os os.system['ls']46 below].
import subprocess time = subprocess.Popen['date', stdout=subprocess.PIPE, stderr=subprocess.PIPE] output, err = time.communicate[] print 'It is', output6
Tùy chọn 3: Để sắp xếp các tệp theo kích thước, chúng ta có thể sử dụng lệnh import os
os.system['ls']
47. To sort the files by size, we can use the command
import os os.system['ls']47.
import subprocess time = subprocess.Popen['date', stdout=subprocess.PIPE, stderr=subprocess.PIPE] output, err = time.communicate[] print 'It is', output7
Có nhiều lựa chọn khác để tùy chỉnh có thể hữu ích cho mục tiêu cụ thể của bạn. Tại đây bạn có thể tìm thêm thông tin về lệnh
import os os.system['ls']48 và cách bạn có thể sử dụng toàn bộ sức mạnh của nó.
Tóm tắt ListDir so với hệ thống ["LS"]
- Mục đích:
7 Trả về danh sách các tên tệp và thư mục trong đường dẫn được chỉ định [theo mặc định, thư mục làm việc hiện tại] trong khiimport os
1 chỉ hiển thị chúng dưới dạng đầu ra tiêu chuẩn.os.[]
7 returns the list of file names and directories in the path specified [by default, the current working directory] whileimport os
1 only displays them as standard output.os.[]
- Hệ điều hành:
7 có thể được sử dụng độc lập với hệ điều hành mà bạn đang làm việc.Ngược lại,import os
import os os.system['ls']
52 phải được thực thi trong một hệ điều hành hoặc môi trường nhận ra lệnhimport os os.system['ls']
27.
7 can be used independently of the operating system that you are working with. In contrast,import os
import os os.system['ls']
52 has to be executed in an operating system or environment that recognizes theimport os os.system['ls']
27 command. - Tùy chỉnh: Bạn có thể lọc danh sách được trả về bởi
7 Nếu bạn cần xóa các tệp hoặc thư mục bằng hàmimport os
import os os.system['ls']
09 và bạn có thể truyền các tùy chọn để tùy chỉnh đầu ra củaimport os os.system['ls']
52. you can filter the list returned by
7 if you need to remove files or directories using theimport os
import os os.system['ls']
09 function and you can pass options to customize the output ofimport os os.system['ls']
52.
Tôi thực sự hy vọng rằng bạn thích bài viết của tôi và thấy nó hữu ích.Bây giờ bạn có thể làm việc với các chức năng này trong các dự án Python của bạn.Kiểm tra các khóa học trực tuyến của tôi.Theo dõi tôi trên Twitter.⭐Now you can work with these functions in your Python projects. Check out my online courses. Follow me on Twitter. ⭐️
Học mã miễn phí.Chương trình giảng dạy nguồn mở của Freecodecamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển.Bắt đầu