Sao chép tệp từ thư mục này sang thư mục khác là một kỹ năng cơ bản khi làm việc với các hoạt động khác nhau của Hệ điều hành. Nhiều ứng dụng yêu cầu sao chép tệp từ vị trí này sang vị trí khác. Với sự trợ giúp của tập lệnh python, rất dễ thực hiện việc này. Trong phát triển phần mềm và khoa học dữ liệu, có nhiều tình huống chúng ta cần sao lưu tệp
Với hai hoặc ba dòng mã, tệp có thể được sao chép vào bất kỳ vị trí nào. Trong số cả ba mô-đun, mô-đun os được sử dụng thường xuyên nhất và hiệu quả hơn so với các mô-đun khác
Trong hướng dẫn Python này, bạn sẽ học cách sử dụng các chức năng khác nhau có sẵn trong các mô-đun os, shutdown và subprocess để sao chép tệp và thư mục từ vị trí này sang vị trí khác
Sau khi đọc bài viết này, bạn sẽ học được. –
- Cách sao chép tệp trong Python bằng các phương thức
copied expense.txt copied profit.txt copied revenue.txt
8,copied expense.txt copied profit.txt copied revenue.txt
9,
0,shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
1 của mô-đun Shutilshutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
- Mô-đun hệ điều hành và quy trình con để sao chép tệp bằng cách sử dụng lệnh shell của hệ điều hành bên dưới [
2 trong Windows hoặcshutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
3 trong UNIX. ]shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
- Cách sao chép tất cả các tệp từ một thư mục
- Sao chép toàn bộ thư mục theo cách đệ quy
Mục lục
- Các bước để sao chép tệp trong Python
- Thí dụ. Sao chép một tệp
- Sao chép tất cả các tệp từ một thư mục
- Sao chép toàn bộ thư mục
- Mô-đun Shutil để sao chép tệp
- cửa chớp. phương thức copyfile[]
- cửa chớp. phương thức sao chép []
- copy[] so với copyfiles[]
- cửa chớp. phương thức copy2[]
- cửa chớp. phương thức copyfileobj[]
- Sao chép tệp bằng mô-đun hệ điều hành
- Sao chép tập tin bằng os. phương thức popen[]
- Sao chép tập tin bằng os. phương thức hệ thống[]
- Mô-đun quy trình con để sao chép tệp
- quy trình con. phương thức gọi []
- Sao chép tệp bằng quy trình con. phương thức check_output[]
Các bước để sao chép tệp trong Python
Python cung cấp hỗ trợ mạnh mẽ cho việc xử lý tệp. Chúng tôi có thể sao chép một và nhiều tệp bằng các phương pháp khác nhau và phương pháp được sử dụng phổ biến nhất là phương pháp
shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
4. Các bước dưới đây cho biết cách sao chép tệp từ thư mục này sang thư mục khác- Tìm đường dẫn của một tập tin
Chúng ta có thể sao chép tệp bằng cả đường dẫn tương đối và đường dẫn tuyệt đối. Đường dẫn là vị trí của tệp trên đĩa.
Đường dẫn tuyệt đối chứa danh sách thư mục đầy đủ cần thiết để định vị tệp. Ví dụ:
5 là một đường dẫn tuyệt đối để khám phá các mẫu. txt.shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
- Sử dụng cửa chớp. chức năng sao chép []
Mô-đun Shutil cung cấp một số chức năng để thực hiện các thao tác cấp cao trên tệp và bộ sưu tập tệp. Hàm
copied expense.txt copied profit.txt copied revenue.txt
8 trong mô-đun này được sử dụng để sao chép tệp từ thư mục này sang thư mục khác.
Đầu tiên, nhập mô-đun Shutil và Truyền đường dẫn tệp nguồn và đường dẫn thư mục đích đến hàm
7.shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
- sử dụng hệ điều hành. listdir[] và Shutil copy[] để sao chép tất cả các tập tin
Giả sử bạn muốn sao chép tất cả các tệp từ thư mục này sang thư mục khác, sau đó sử dụng hàm
8 để liệt kê tất cả các tệp của thư mục nguồn, sau đó lặp lại danh sách bằng vòng lặp for và sao chép từng tệp bằng hàmshutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
copied expense.txt copied profit.txt copied revenue.txt
8 - Sử dụng hàm copytree[] để sao chép toàn bộ thư mục
copied expense.txt copied profit.txt copied revenue.txt
20 sao chép đệ quy toàn bộ cây thư mục bắt nguồn từcopied expense.txt copied profit.txt copied revenue.txt
21 vào thư mục có têncopied expense.txt copied profit.txt copied revenue.txt
22 và trả về thư mục đích
Thí dụ. Sao chép một tệp
Trong ví dụ này, chúng tôi đang sao chép lợi nhuận. txt từ thư mục báo cáo vào thư mục tài khoản
copied expense.txt copied profit.txt copied revenue.txt5
Sao chép tất cả các tệp từ một thư mục
Đôi khi chúng tôi muốn sao chép tất cả các tệp từ thư mục này sang thư mục khác. Thực hiện theo các bước dưới đây để sao chép tất cả các tệp từ một thư mục
- Lưu trữ đường dẫn thư mục nguồn và đích thành hai biến
- Lấy danh sách tất cả các tệp có trong thư mục nguồn bằng hàm
8. Nó trả về một danh sách chứa tên của các tệp và thư mục trong thư mục đã choshutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
- Lặp lại danh sách bằng vòng lặp for để lấy tên tệp riêng lẻ
- Trong mỗi lần lặp, nối tên tệp hiện tại với đường dẫn thư mục nguồn
- Bây giờ, hãy sử dụng phương pháp
4 để sao chép tệp hiện tại vào đường dẫn thư mục đíchshutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
Thí dụ
copied expense.txt copied profit.txt copied revenue.txt8
đầu ra
copied expense.txt copied profit.txt copied revenue.txt
Sao chép toàn bộ thư mục
Đôi khi chúng ta cần sao chép toàn bộ thư mục, bao gồm tất cả các tệp và thư mục con chứa trong đó. Sử dụng phương pháp
copied expense.txt copied profit.txt copied revenue.txt25 của mô-đun Shutil để sao chép thư mục theo cách đệ quy
shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
- Phương thức này sao chép đệ quy toàn bộ cây thư mục bắt nguồn từ
copied expense.txt copied profit.txt copied revenue.txt
21 vào thư mục có têncopied expense.txt copied profit.txt copied revenue.txt
22 và trả về thư mục đích copied expense.txt copied profit.txt copied revenue.txt
28 ra lệnh có nên đưa ra một ngoại lệ trong trường hợpcopied expense.txt copied profit.txt copied revenue.txt
22 hoặc bất kỳ thư mục mẹ bị thiếu nào đã tồn tại hay không- Sử dụng tham số
60 để chuyển bất kỳ chức năng nào trong bốn chức năng mà mô-đun Shutil cung cấp để sao chép tệpshutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
Thí dụ. Hãy để cách sao chép thư mục báo cáo và tất cả nội dung của nó vào thư mục tài khoản
copied expense.txt copied profit.txt copied revenue.txt2
Mô-đun Shutil để sao chép tệp
Mô-đun đóng cửa Python cung cấp nhiều chức năng cao cấp để thực hiện sao chép và xóa tệp
Các chức năng này cung cấp một cách sao chép tệp được tối ưu hóa và do đó tiết kiệm thời gian thực hiện tác vụ mở, đọc, ghi và đóng tệp không cần thiết khi không có yêu cầu xử lý trong tệp đó
Mô-đun Shutil cung cấp bốn chức năng sau để sao chép tệp
FunctionDescriptionshutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
61Sao chép đối tượng tệp từ nguồn đến đích. [Cần mở cả đường dẫn nguồn và đích]shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
62Sao chép nội dung của tệp này sang tệp khác. Siêu dữ liệu của tệp sẽ không được sao chép. shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
4sao chép nội dung của tệp nguồn vào tệp đích cùng với siêu dữ liệu. shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
64sao chép siêu dữ liệu bổ sung cụ thể là dấu thời gian của tệp nguồn vào các phương thức sao chép đíchĐể quyết định sử dụng chức năng nào để sao chép tệp, chúng ta phải xem xét các điểm sau
- Ví dụ: Nếu ứng dụng của bạn sử dụng tài nguyên được chia sẻ, bạn nên sao chép tệp ở chế độ chặn thay vì không đồng bộ
- Tính di động của nền tảng. Nếu ứng dụng của bạn chạy trên một hệ điều hành khác, bạn phải viết mã sẽ chạy trên một hệ điều hành khác mà không gặp bất kỳ sự cố nào
- Chức năng này sử dụng nhiều tài nguyên vì một số chức năng sao chép liên quan đến việc mở tệp, đọc nội dung, ghi và đóng tệp. vì vậy hãy chọn theo nhu cầu của bạn
- Bạn có muốn sao chép siêu dữ liệu cùng với nội dung tệp không?
Phương pháp shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
62
shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
Phương thức copyfile[] được sử dụng để sao chép nội dung của tệp này sang tệp khác. Siêu dữ liệu của tệp sẽ không được sao chép
shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
6
66. Vị trí tệp nguồn [đường dẫn] có nội dung cần sao chépshutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
67. Vị trí tệp đích [đường dẫn] nơi nội dung từ tệp nguồn sẽ được dánshutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
68. Giá trị mặc định cho điều này là đúng. Nếu nó sai và vị trí tệp nguồn là một liên kết tượng trưng thì một liên kết tượng trưng mới sẽ được tạo thay vì sao chép từ tệpshutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
Ghi chú. Siêu dữ liệu của tệp sẽ không được sao chép khi sử dụng phương pháp này
Thí dụ
shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
7Mã của chúng tôi đã sao chép 'lợi nhuận. txt' trong thư mục đích. Đây là danh sách các tệp có trong thư mục đích
- lợi nhuận. txt
- doanh thu. txt
Sử dụng hàm
shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
69 để liệt kê tất cả các tệp có trong thư mục đích để xác minh kết quảSau đây là những điểm quan trọng
- Cả nguồn và đích phải là một tệp. Nếu đích đến là một thư mục thì
70 sẽ được nâng lênshutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
- Nếu nguồn và đích trỏ đến cùng một tệp thì
71 sẽ được nâng lênshutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
- Nếu đích tồn tại nhưng có tên khác với tệp nguồn thì nội dung của tệp đích sẽ bị ghi đè
Để tránh các lỗi trên, hãy luôn bọc mã của bạn trong khối thử-ngoại trừ. Tham khảo ví dụ sau
shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
1đầu ra
shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
2Phương pháp shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
4
shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
Mô-đun
shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
73 có thêm một phương thức để sao chép tệp gọi là phương thức copied expense.txt copied profit.txt copied revenue.txt8 sẽ sao chép nội dung của tệp nguồn sang tệp đích
shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
6Tương tự như phương pháp
shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
75, phương pháp này sẽ đưa ra '_______371' nếu nguồn và đích trỏ đến cùng một tệpXem xét ví dụ sau khi chúng tôi cố gắng sao chép tệp 'profit. txt’ từ nguồn
copied expense.txt copied profit.txt copied revenue.txt21 đến thư mục đích
copied expense.txt copied profit.txt copied revenue.txt22
copied expense.txt copied profit.txt copied revenue.txt80
Ghi chú. Nếu tệp nguồn không được tìm thấy ở vị trí đó thì phương thức copy[] không thể được thực thi và một
shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
79 sẽ xuất hiện. Nếu thư mục đích không thể ghi thì ‘shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
10‘ sẽ được nâng lêncopy[] so với copyfiles[]
Mặc dù các phương thức
copied expense.txt copied profit.txt copied revenue.txt8 và
shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
75 trong mô-đun Shutil hoạt động giống nhau trong việc sao chép tệp từ vị trí này sang vị trí khác nhưng có một số khác biệt đáng kể giữa chúngNếu đường dẫn đích là 'tệp' hoặc 'thư mục' thì phương thức
copied expense.txt copied profit.txt copied revenue.txt8 sẽ tạo một tệp theo tên của tệp nguồn
- Phương thức
copied expense.txt copied profit.txt copied revenue.txt
8 lưu thông tin siêu dữ liệu bổ sung về các chế độ cấp phép từ nguồn đến tệp đích.
75 không lưu bất kỳ thông tin siêu dữ liệu nàoshutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
- Vì phương thức
copied expense.txt copied profit.txt copied revenue.txt
8 thực hiện một cuộc gọi bổ sung để lưu các chế độ cấp phép;
Phương thức
copied expense.txt copied profit.txt copied revenue.txt8 gọi
shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
75 và shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
20 bên trong triển khai nội bộ của nó. Nhưng shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
17[] chỉ gọi shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
1 bên trong quá trình triển khai của nóPhương pháp shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
64
shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
Trong
shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
73 có thêm một phương pháp gọi là copied expense.txt copied profit.txt copied revenue.txt9 có thể được sử dụng để sao chép tệp từ vị trí này sang vị trí khác
copied expense.txt copied profit.txt copied revenue.txt81
Mặc dù cả hai phương pháp
copied expense.txt copied profit.txt copied revenue.txt8 và
copied expense.txt copied profit.txt copied revenue.txt9 đều sao chép nội dung của tệp cùng với siêu dữ liệu nhưng có hai điểm khác biệt đáng kể giữa hai phương pháp này
- Phương pháp
copied expense.txt copied profit.txt copied revenue.txt
9 có thể được sử dụng để sao chép siêu dữ liệu bổ sung cụ thể là dấu thời gian của nguồn đến đích. Đây là phần bổ sung cho các chế độ cấp phép mà phương thứccopied expense.txt copied profit.txt copied revenue.txt
8 lưu - Phương thức
copied expense.txt copied profit.txt copied revenue.txt
9 gọi phương thức
61 để lấy thông tin dấu thời gian trong khi phương thứcshutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
copied expense.txt copied profit.txt copied revenue.txt
8 lưu các chế độ cấp phép từ
20shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
Các kịch bản mà phương thức này ném ra 'SameFileError' tương tự như phương thức copy[]. Chúng ta có thể xem cách sử dụng phương pháp này để sao chép tệp có tên 'Sample. txt’ từ nguồn đến đích
copied expense.txt copied profit.txt copied revenue.txt82
đầu ra
copied expense.txt copied profit.txt copied revenue.txt83
Phương pháp shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
61
shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
Phương thức
shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
1 được sử dụng để sao chép đối tượng tệp từ nguồn đến vị trí đíchNgoài vị trí nguồn và đích, chúng ta có thể chuyển kích thước bộ đệm, cho biết phần tệp cần được sao chép. Giá trị mặc định cho điều này là 16 KB
copied expense.txt copied profit.txt copied revenue.txt84
66. Vị trí tệp nguồn [đường dẫn] có nội dung cần sao chépshutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
67. Vị trí tệp đích [đường dẫn] nơi nội dung từ tệp nguồn sẽ được dánshutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
68. Kích thước bộ đệm biểu thị số byte được lưu trong bộ nhớ trong quá trình sao chép. Kích thước mặc định mà hệ thống sử dụng là 16KBshutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
Hãy để chúng tôi xem một ví dụ để kiếm lợi nhuận. txt từ thư mục báo cáo vào thư mục tài khoản
Thí dụ
copied expense.txt copied profit.txt copied revenue.txt85
Sao chép tệp bằng mô-đun hệ điều hành
Mô-đun hệ điều hành Python cung cấp các chức năng có thể tương tác trong các hệ điều hành khác nhau. Chúng tôi phải sử dụng các lệnh sao chép cơ bản dành riêng cho hệ điều hành cụ thể. Các phương pháp có thể di động trên các hệ điều hành khác nhau
Sao chép tệp bằng phương pháp shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
69
shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
Phương thức
copied expense.txt copied profit.txt copied revenue.txt800 mở một đường ống để thực thi một lệnh mà chúng ta truyền vào đối tượng tệp. Phương thức này mở một đối tượng tệp ở chế độ đọc hoặc ghi. Đọc là một chế độ mặc định
copied expense.txt copied profit.txt copied revenue.txt86
copied expense.txt copied profit.txt copied revenue.txt
801. Lệnh sẽ được thực thi trong đối tượng tệp đang mởcopied expense.txt copied profit.txt copied revenue.txt
802. Chế độ có thể mở tệp và chế độ mặc định làcopied expense.txt copied profit.txt copied revenue.txt
803copied expense.txt copied profit.txt copied revenue.txt
804. Số lượng byte sẽ được lưu trữ trong bộ đệm. Nếu được đề cập là 0 thì nó sẽ không lưu bất kỳ
Lệnh shell cơ bản để sao chép là
shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
2 cho windows và shutil.copytree[src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False
3 cho môi trường UNIXHãy cho chúng tôi xem cách sử dụng phương pháp này để sao chép một tệp có tên là lợi nhuận. txt từ thư mục nguồn sang thư mục đích
Trên Unix
copied expense.txt copied profit.txt copied revenue.txt87
Trên Windows
copied expense.txt copied profit.txt copied revenue.txt88
Sao chép tệp bằng phương pháp copied expense.txt
copied profit.txt
copied revenue.txt
807
Phương thức system[] một lần nữa được sử dụng để thực thi tập lệnh trong shell hoặc lệnh OS. Giá trị trả về là trạng thái thoát của lệnh
- Điều này được thực hiện bằng cách gọi hàm Standard C
copied expense.txt copied profit.txt copied revenue.txt
808 và có cùng giới hạn - Trên Unix, giá trị trả về là trạng thái thoát của quy trình được mã hóa ở định dạng được chỉ định cho
copied expense.txt copied profit.txt copied revenue.txt
809 - Trên Windows, giá trị trả về là giá trị được trình bao hệ thống trả về sau khi chạy lệnh.
copied expense.txt copied profit.txt copied revenue.txt89
copied expense.txt copied profit.txt copied revenue.txt810. Lấy lệnh đối số duy nhất là lệnh shell bên dưới sẽ được thực thi
Hãy cho chúng tôi xem cách sử dụng phương pháp này để sao chép một tệp có tên là mẫu. txt từ thư mục nguồn sang thư mục đích
copied expense.txt copied profit.txt copied revenue.txt0
Mô-đun quy trình con để sao chép tệp
Mô-đun quy trình con được sử dụng để thực thi/khởi chạy một quy trình con mới từ ứng dụng của chúng tôi, kết nối với các đường ống đầu vào/đầu ra/lỗi của chúng và lấy mã trả về của chúng. Mô-đun này dự định thay thế một số mô-đun và chức năng cũ hơn
copied expense.txt copied profit.txt copied revenue.txt1
Phương pháp copied expense.txt
copied profit.txt
copied revenue.txt
811
Phương thức này có thể được sử dụng để thực thi bất kỳ lệnh nào được truyền dưới dạng đối số cho phương thức này và giá trị trả về sẽ là trạng thái kết thúc của lệnh đã được thực thi
copied expense.txt copied profit.txt copied revenue.txt2
copied expense.txt copied profit.txt copied revenue.txt
812. Cần thiết cho tất cả các cuộc gọi và phải là một chuỗi hoặc một chuỗi các đối số chương trình. Phương thức call[] thực sự chạy lệnh được đề cập bởi các đối sốcopied expense.txt copied profit.txt copied revenue.txt
813,copied expense.txt copied profit.txt copied revenue.txt
814 vàcopied expense.txt copied profit.txt copied revenue.txt
815 chỉ định lần lượt đầu vào tiêu chuẩn, đầu ra tiêu chuẩn và lỗi tiêu chuẩn của chương trình được thực hiện.copied expense.txt copied profit.txt copied revenue.txt
816. Nếu đặt thành true, thì lệnh đã chỉ định sẽ được thực thi thông qua trình bao
copied expense.txt copied profit.txt copied revenue.txt3
đầu ra
copied expense.txt copied profit.txt copied revenue.txt4
Sao chép tệp bằng phương pháp copied expense.txt
copied profit.txt
copied revenue.txt
817
Phương thức
copied expense.txt copied profit.txt copied revenue.txt818 một lần nữa được sử dụng để thực thi các lệnh bên ngoài và nắm bắt đầu ra của nó. Điều này rất giống với phương pháp
copied expense.txt copied profit.txt copied revenue.txt819 với một tập hợp các đối số tương tự
copied expense.txt copied profit.txt copied revenue.txt5
copied expense.txt copied profit.txt copied revenue.txt820. Nếu giá trị này là
copied expense.txt copied profit.txt copied revenue.txt821 thì tất cả các phần cuối dòng sẽ được chuyển đổi thành
copied expense.txt copied profit.txt copied revenue.txt822 như được mô tả cho đối số chế độ dòng mới chung
copied expense.txt copied profit.txt copied revenue.txt823 thành
copied expense.txt copied profit.txt copied revenue.txt824