Tất cả các tệp được chứa trong các thư mục khác nhau và Python cũng không gặp vấn đề gì khi xử lý các tệp này. Mô-đun os có một số phương pháp giúp bạn tạo, xóa và thay đổi thư mục
Phương thức mkdir()
Bạn có thể sử dụng phương thức mkdir() của mô-đun os để tạo các thư mục trong thư mục hiện tại. Bạn cần cung cấp một đối số cho phương thức này chứa tên của thư mục sẽ được tạo
cú pháp
os.mkdir("newdir")Thí dụ
Sau đây là ví dụ để tạo một thư mục test trong thư mục hiện tại –
#!/usr/bin/python import os # Create a directory "test" os.mkdir("test")Phương thức chdir()
Bạn có thể sử dụng phương thức chdir() để thay đổi thư mục hiện tại. Phương thức chdir() nhận một đối số, là tên của thư mục mà bạn muốn tạo thư mục hiện tại
cú pháp
os.chdir("newdir")Thí dụ
Sau đây là ví dụ để vào thư mục "/home/newdir" −
#!/usr/bin/python import os # Changing a directory to "/home/newdir" os.chdir("/home/newdir")Phương thức getcwd()
Phương thức getcwd() hiển thị thư mục làm việc hiện tại
cú pháp
os.getcwd()Thí dụ
Sau đây là ví dụ để cung cấp thư mục hiện tại -
#!/usr/bin/python import os # This would give location of the current directory os.getcwd()Phương thức rmdir()
Phương thức rmdir() xóa thư mục, được truyền dưới dạng đối số trong phương thức
Trước khi xóa một thư mục, tất cả nội dung trong đó phải được xóa
cú pháp
os.rmdir('dirname')Thí dụ
Sau đây là ví dụ để xóa thư mục "/tmp/test". Yêu cầu cung cấp tên đầy đủ của thư mục, nếu không nó sẽ tìm kiếm thư mục đó trong thư mục hiện tại
Hướng dẫn thư mục Python chỉ ra cách làm việc với các thư mục trong Python. Chúng tôi chỉ cho bạn cách tạo, đổi tên, di chuyển hoặc liệt kê một thư mục trong Python
Thư mục là một đơn vị tổ chức trong hệ thống tệp của máy tính để lưu trữ và định vị tệp. Các thư mục được tổ chức theo thứ bậc thành một cây thư mục. Các thư mục có mối quan hệ cha-con. Thư mục đôi khi còn được gọi là thư mục
Có nhiều chức năng để thao tác các thư mục trong Python. Chúng được đặt trong các mô-đun $ ./create_dir.py $ ./create_dir.py Traceback (most recent call last): File "./create_dir.py", line 6, in p.mkdir() File "/usr/lib/python3.8/pathlib.py", line 1284, in mkdir self._accessor.mkdir(self, mode) FileExistsError: [Errno 17] File exists: 'test' 9 và #!/usr/bin/python from pathlib import Path dir_name = 'test' p = Path(dir_name) try: if not p.exists(): p.mkdir() except OSError: print(f'Error: Creating directory. {dir_name}') 0. Trong hướng dẫn này, chúng tôi làm việc với mô-đun #!/usr/bin/python from pathlib import Path dir_name = 'test' p = Path(dir_name) try: if not p.exists(): p.mkdir() except OSError: print(f'Error: Creating directory. {dir_name}') 0, mô-đun này có API hiện đại hơn
Python tạo thư mục
#!/usr/bin/python from pathlib import Path dir_name = 'test' p = Path(dir_name) try: if not p.exists(): p.mkdir() except OSError: print(f'Error: Creating directory. {dir_name}') 2 tạo một thư mục hoặc nhiều thư mục, bao gồm các thư mục trung gian
Nếu một thư mục tồn tại, một #!/usr/bin/python from pathlib import Path dir_name = 'test' p = Path(dir_name) try: if not p.exists(): p.mkdir() except OSError: print(f'Error: Creating directory. {dir_name}') 3 được nâng lên
#!/usr/bin/python import os # Create a directory "test" os.mkdir("test")2Ví dụ tạo thư mục với hàm #!/usr/bin/python from pathlib import Path dir_name = 'test' p = Path(dir_name) try: if not p.exists(): p.mkdir() except OSError: print(f'Error: Creating directory. {dir_name}') 4 #!/usr/bin/python from pathlib import Path dir_name = 'test' p = Path(dir_name) try: if not p.exists(): p.mkdir() except OSError: print(f'Error: Creating directory. {dir_name}') 5
$ ./create_dir.py $ ./create_dir.py Traceback (most recent call last): File "./create_dir.py", line 6, in p.mkdir() File "/usr/lib/python3.8/pathlib.py", line 1284, in mkdir self._accessor.mkdir(self, mode) FileExistsError: [Errno 17] File exists: 'test'Khi chúng tôi chạy chương trình hai lần, một ngoại lệ được đưa ra. Để giải quyết vấn đề này, chúng ta có thể kiểm tra xem một thư mục đã tồn tại chưa
________số 8Trước khi tạo thư mục, chúng ta kiểm tra xem nó đã tồn tại chưa bằng hàm #!/usr/bin/python from pathlib import Path dir_name = 'test' p = Path(dir_name) try: if not p.exists(): p.mkdir() except OSError: print(f'Error: Creating directory. {dir_name}') 6. Chúng tôi cũng bắt được một ngoại lệ có thể
Một giải pháp khác là sử dụng cờ #!/usr/bin/python from pathlib import Path dir_name = 'test' p = Path(dir_name) try: if not p.exists(): p.mkdir() except OSError: print(f'Error: Creating directory. {dir_name}') 7. Nếu cờ này được đặt thành #!/usr/bin/python from pathlib import Path dir_name = 'test' p = Path(dir_name) try: if not p.exists(): p.mkdir() except OSError: print(f'Error: Creating directory. {dir_name}') 8, thì #!/usr/bin/python from pathlib import Path dir_name = 'test' p = Path(dir_name) try: if not p.exists(): p.mkdir() except OSError: print(f'Error: Creating directory. {dir_name}') 3 sẽ bị bỏ qua
os.chdir("newdir") 1Trong ví dụ này, chúng tôi bỏ qua các ngoại lệ #!/usr/bin/python from pathlib import Path dir_name = 'test' p = Path(dir_name) try: if not p.exists(): p.mkdir() except OSError: print(f'Error: Creating directory. {dir_name}') 3
quảng cáoHàm os.chdir("newdir") 11 tạo một thư mục tạm thời một cách an toàn. Khi hoàn thành bối cảnh hoặc hủy đối tượng thư mục tạm thời, thư mục tạm thời mới được tạo và tất cả nội dung của nó sẽ bị xóa khỏi hệ thống tệp
os.chdir("newdir") 4Ví dụ tạo một thư mục tạm thời. Khi chương trình kết thúc, thư mục bị hủy
os.chdir("newdir") 5Chương trình đã tạo một thư mục tạm thời trong thư mục os.chdir("newdir") 12 đặc biệt, được sử dụng cho các mục đích như vậy trên Linux
Python đổi tên thư mục
Hàm os.chdir("newdir") 13 đổi tên thư mục
os.chdir("newdir") 8Trong ví dụ, chúng tôi đổi tên thư mục os.chdir("newdir") 14 thành os.chdir("newdir") 15
quảng cáoMột thư mục được xóa bằng hàm os.chdir("newdir") 16. Thư mục phải trống
#!/usr/bin/python import os # Changing a directory to "/home/newdir" os.chdir("/home/newdir")2Ví dụ xóa thư mục os.chdir("newdir") 15
Python di chuyển thư mục
Hàm os.chdir("newdir") 18 di chuyển một thư mục
#!/usr/bin/python import os # Changing a directory to "/home/newdir" os.chdir("/home/newdir")5os.chdir("newdir") 18 di chuyển đệ quy một tệp hoặc thư mục (src) đến một vị trí khác (dst) và trả về đích
Có hai chức năng sao chép. os.chdir("newdir") 40 và os.chdir("newdir") 41; . Chúng khác nhau về cách chúng xử lý siêu dữ liệu tệp. os.chdir("newdir") 41 cố gắng bảo toàn tất cả siêu dữ liệu của tệp, trong khi os.chdir("newdir") 40 thì không
os.getcwd() 2Ví dụ di chuyển nội dung của thư mục os.chdir("newdir") 45 sang os.chdir("newdir") 46
$ ./create_dir.py $ ./create_dir.py Traceback (most recent call last): File "./create_dir.py", line 6, in p.mkdir() File "/usr/lib/python3.8/pathlib.py", line 1284, in mkdir self._accessor.mkdir(self, mode) FileExistsError: [Errno 17] File exists: 'test' 0Chúng tôi tạo thư mục os.chdir("newdir") 47 và một số tệp
$ ./create_dir.py $ ./create_dir.py Traceback (most recent call last): File "./create_dir.py", line 6, in p.mkdir() File "/usr/lib/python3.8/pathlib.py", line 1284, in mkdir self._accessor.mkdir(self, mode) FileExistsError: [Errno 17] File exists: 'test' 1Chúng tôi chạy chương trình và hiển thị nội dung của thư mục mới
quảng cáoThư mục làm việc hiện tại của Python
Hàm os.chdir("newdir") 48 trả về một đối tượng đường dẫn mới đại diện cho thư mục hiện tại
$ ./create_dir.py $ ./create_dir.py Traceback (most recent call last): File "./create_dir.py", line 6, in p.mkdir() File "/usr/lib/python3.8/pathlib.py", line 1284, in mkdir self._accessor.mkdir(self, mode) FileExistsError: [Errno 17] File exists: 'test' 2Ví dụ thay đổi thư mục và in thư mục hiện tại
Thư mục nhà Python
Hàm os.chdir("newdir") 49 trả về một đối tượng đường dẫn mới đại diện cho thư mục chính của người dùng
$ ./create_dir.py $ ./create_dir.py Traceback (most recent call last): File "./create_dir.py", line 6, in p.mkdir() File "/usr/lib/python3.8/pathlib.py", line 1284, in mkdir self._accessor.mkdir(self, mode) FileExistsError: [Errno 17] File exists: 'test' 3Chương trình in thư mục chính của người dùng đã khởi chạy nó
Thư mục Python cha mẹ
________ 250 trả về cha mẹ của đường dẫn và os.chdir("newdir") 51 một chuỗi tổ tiên của đường dẫn
$ ./create_dir.py $ ./create_dir.py Traceback (most recent call last): File "./create_dir.py", line 6, in p.mkdir() File "/usr/lib/python3.8/pathlib.py", line 1284, in mkdir self._accessor.mkdir(self, mode) FileExistsError: [Errno 17] File exists: 'test' 4Ví dụ in các bậc cha mẹ khác nhau của thư mục làm việc hiện tại
Nội dung thư mục danh sách Python
os.chdir("newdir") 52 mang lại các đối tượng đường dẫn của nội dung thư mục. Những đứa trẻ được đưa ra theo thứ tự tùy ý, và các mục đặc biệt '. ' và '. ' không bao gồm
$ ./create_dir.py $ ./create_dir.py Traceback (most recent call last): File "./create_dir.py", line 6, in p.mkdir() File "/usr/lib/python3.8/pathlib.py", line 1284, in mkdir self._accessor.mkdir(self, mode) FileExistsError: [Errno 17] File exists: 'test' 5Ví dụ liệt kê các tệp và thư mục của thư mục làm việc hiện tại. Danh sách không đệ quy