Làm cách nào để chạy tất cả các tệp trong một thư mục trong python?

Python đi kèm với Mac OS X. Nhưng phiên bản mà bạn có rất có thể là phiên bản cũ hơn. Tải xuống phiên bản nhị phân mới nhất của Python chạy trên cả hệ thống Power PC và Intel và cài đặt nó trên hệ thống của bạn

Có nhiều thao tác thú vị mà chúng ta có thể thực hiện trên các tệp bên ngoài bằng Python, như trích xuất các biến cụ thể từ tệp, trích xuất văn bản được ghi trong tệp, v.v. Một trong các thao tác là thực thi một lệnh trong tệp Python có trong một thư mục cụ thể bằng Python

Hướng dẫn này sẽ trình bày cách thực thi một lệnh trên mọi tệp có trong một thư mục bằng Python

Đối với hướng dẫn này, chúng tôi sẽ giả sử hai tệp Python với một số câu lệnh Python sẽ được thực thi và lưu trữ với phần mở rộng

python ../testFolder/sample1.py & python ../testFolder/sample2.py
3 có trong từ điển
python ../testFolder/sample1.py & python ../testFolder/sample2.py
4

Hai tệp python này là

print("Hello World")
print(1+1)

Bây giờ, giả sử hai tệp này được lưu trữ trong một thư mục có tên là

python ../testFolder/sample1.py & python ../testFolder/sample2.py
4. Hãy cho chúng tôi xem một số cách để in các tệp này bằng Python

Sử dụng Dấu nhắc Lệnh để Thực thi Lệnh trên Mọi Tệp có trong Thư mục trong Python

Để chạy mọi tệp có trong một thư mục bằng dòng lệnh của máy tính, chúng ta cần đề cập đến đường dẫn của tệp. Lệnh sẽ được viết trong dấu nhắc lệnh như sau

python ../testFolder/sample1.py & python ../testFolder/sample2.py

đầu ra

Hello World
2

Sử dụng Mô-đun print(1+1) 1 để Thực thi Lệnh trên Mọi Tệp trong Thư mục bằng Python

Mô-đun

print(1+1)
1 trong Python có trong các mô-đun tiện ích tiêu chuẩn của Python. Mô-đun này giúp tương tác với hệ điều hành của máy tính bằng cách cung cấp các chức năng và phương thức khác nhau. Mô-đun này chủ yếu phát huy tác dụng khi người dùng muốn tương tác với hệ thống tệp của máy tính

Trong phương pháp này, một vài phương pháp được sử dụng từ mô-đun

print(1+1)
1. Các phương pháp là
print(1+1)
4,
print(1+1)
5 và
print(1+1)
6

Phương thức

print(1+1)
4 của mô-đun
print(1+1)
1 giúp lấy danh sách đầy đủ tất cả các tệp có trong một thư mục. Đối số của phương thức này là đường dẫn của thư mục. Nếu không có thư mục nào được đề cập trong đối số, thì danh sách tất cả các tệp có trong thư mục hiện tại sẽ được trả về theo mặc định

Phương thức

print(1+1)
5 của mô-đun
print(1+1)
1 được sử dụng để nối một hoặc nhiều thành phần của một đường dẫn cụ thể. Điều này được thực hiện bởi một dấu tách còn được gọi là dấu tách thư mục
python ../testFolder/sample1.py & python ../testFolder/sample2.py
1

Phương pháp

print(1+1)
6 của mô-đun
print(1+1)
1 giúp kiểm tra xem tệp có nằm trong đường dẫn đã chỉ định hay không. Đối số của phương thức này luôn là đường dẫn của tệp

print(1+1)
7

đầu ra

Hello World
2

Sử dụng Mô-đun python ../testFolder/sample1.py & python ../testFolder/sample2.py 4 để Thực thi Lệnh trên Mỗi Tệp trong Thư mục bằng Python

Mô-đun

python ../testFolder/sample1.py & python ../testFolder/sample2.py
4 của Python có trong các mô-đun tiện ích tiêu chuẩn. Mô-đun này giúp cung cấp đường dẫn tệp ở dạng lớp và cung cấp ngữ nghĩa phù hợp để xử lý hệ điều hành

Trong phương pháp này, hàm

python ../testFolder/sample1.py & python ../testFolder/sample2.py
6 của mô-đun
python ../testFolder/sample1.py & python ../testFolder/sample2.py
4 được sử dụng, về cơ bản giúp truy cập tất cả các tệp trong thư mục đã cho

đôi khi còn được gọi là thư mục là cấu trúc tổ chức đơn vị trong hệ thống tệp của hệ thống để lưu trữ và định vị tệp hoặc nhiều thư mục. Python với tư cách là một ngôn ngữ kịch bản cung cấp nhiều phương thức khác nhau để lặp qua các tệp trong một thư mục

Dưới đây là các cách tiếp cận khác nhau bằng cách sử dụng cái nào có thể lặp qua các tệp trong một thư mục bằng python

Phương pháp 1. hệ điều hành. listdir()

Hàm này trả về danh sách các tệp và thư mục con có trong thư mục đã cho. Chúng tôi có thể lọc danh sách để chỉ nhận các tệp bằng os. đường dẫn. hàm isfile()

Thí dụ

Python3




python ../testFolder/sample1.py & python ../testFolder/sample2.py
6

python ../testFolder/sample1.py & python ../testFolder/sample2.py
7
python ../testFolder/sample1.py & python ../testFolder/sample2.py
8

python ../testFolder/sample1.py & python ../testFolder/sample2.py
9

Hello World
2
0
Hello World
2
1
Hello World
2
2

 

Hello World
2
3

Hello World
2
4

________ 35 ________ 270 ________ 271 ________ 272

python ../testFolder/sample1.py & python ../testFolder/sample2.py
73
python ../testFolder/sample1.py & python ../testFolder/sample2.py
74
Hello World
2
1
python ../testFolder/sample1.py & python ../testFolder/sample2.py
76

python ../testFolder/sample1.py & python ../testFolder/sample2.py
73
python ../testFolder/sample1.py & python ../testFolder/sample2.py
78

python ../testFolder/sample1.py & python ../testFolder/sample2.py
73
python ../testFolder/sample1.py & python ../testFolder/sample2.py
80
python ../testFolder/sample1.py & python ../testFolder/sample2.py
81

python ../testFolder/sample1.py & python ../testFolder/sample2.py
82
python ../testFolder/sample1.py & python ../testFolder/sample2.py
83
python ../testFolder/sample1.py & python ../testFolder/sample2.py
84

đầu ra

Làm cách nào để chạy tất cả các tệp trong một thư mục trong python?

Phương pháp 2. hệ điều hành. scandir()

Phương thức này được sử dụng để lấy một iterator của os. Các đối tượng DirEntry tương ứng với các mục trong thư mục được cung cấp bởi đường dẫn đã chỉ định

Thí dụ

Python3




python ../testFolder/sample1.py & python ../testFolder/sample2.py
6

python ../testFolder/sample1.py & python ../testFolder/sample2.py
7
python ../testFolder/sample1.py & python ../testFolder/sample2.py
8

 

python ../testFolder/sample1.py & python ../testFolder/sample2.py
9

Hello World
2
0
Hello World
2
1
Hello World
2
2

 

Hello World
2
3

Hello World
2
4

________ 35 ________ 270 ________ 271 ________ 297

python ../testFolder/sample1.py & python ../testFolder/sample2.py
73
python ../testFolder/sample1.py & python ../testFolder/sample2.py
80
Hello World
2
00

python ../testFolder/sample1.py & python ../testFolder/sample2.py
82
python ../testFolder/sample1.py & python ../testFolder/sample2.py
83
Hello World
2
03

đầu ra

Làm cách nào để chạy tất cả các tệp trong một thư mục trong python?

Phương pháp 3. mô-đun đường dẫn

Chúng tôi có thể lặp lại các tệp trong một thư mục bằng Đường dẫn. glob() hàm toàn cầu hóa mẫu đã chỉ định trong thư mục đã cho và tạo ra các tệp phù hợp. Đường dẫn. glob(‘*’) mang lại tất cả các tệp trong thư mục đã cho

Thí dụ

Python3




python ../testFolder/sample1.py & python ../testFolder/sample2.py
6

________ 305 ________ 306 ________ 27 ________ 308

 

python ../testFolder/sample1.py & python ../testFolder/sample2.py
9

Hello World
2
0
Hello World
2
1
Hello World
2
2

 

Hello World
2
3

Hello World
2
4

Hello World
2
15
Hello World
2
1
Hello World
2
17
Hello World
2
18
Hello World
2
19

Hello World
2
5
Hello World
2
21
python ../testFolder/sample1.py & python ../testFolder/sample2.py
71
Hello World
2
23

python ../testFolder/sample1.py & python ../testFolder/sample2.py
73
python ../testFolder/sample1.py & python ../testFolder/sample2.py
83____326
Hello World
2
21
Hello World
2
19

đầu ra

Làm cách nào để chạy tất cả các tệp trong một thư mục trong python?

Phương pháp 4. hệ điều hành. đi bộ()

Chúng tôi cũng có thể tìm kiếm các thư mục con bằng phương pháp này vì nó mang lại 3-tuple (dirpath, dirnames, filenames)

  • nguồn gốc. Chỉ in ra các thư mục từ những gì bạn đã chỉ định
  • thư mục. In ra các thư mục con từ thư mục gốc
  • các tập tin. In ra tất cả các tệp từ thư mục gốc và thư mục

Python3




python ../testFolder/sample1.py & python ../testFolder/sample2.py
6

python ../testFolder/sample1.py & python ../testFolder/sample2.py
7
python ../testFolder/sample1.py & python ../testFolder/sample2.py
8

 

python ../testFolder/sample1.py & python ../testFolder/sample2.py
9

Hello World
2
0
Hello World
2
1
Hello World
2
2

 

Hello World
2
3

Hello World
2
4

Hello World
2
5
Hello World
2
39____271
Hello World
2
41

python ../testFolder/sample1.py & python ../testFolder/sample2.py
73
Hello World
2
5
python ../testFolder/sample1.py & python ../testFolder/sample2.py
70
python ../testFolder/sample1.py & python ../testFolder/sample2.py
71
Hello World
2
23

python ../testFolder/sample1.py & python ../testFolder/sample2.py
82
python ../testFolder/sample1.py & python ../testFolder/sample2.py
83
Hello World
2
49

đầu ra

Làm cách nào để chạy tất cả các tệp trong một thư mục trong python?

Phương pháp 5. mô-đun toàn cầu

quả địa cầu. Hàm iglob() trả về một trình vòng lặp trên danh sách tên đường dẫn khớp với mẫu đã cho