Hướng dẫn os.mkdir trong python


Trang trước

Trang sau  


Miêu tả

Phương thức mkdir() tạo một thư mục với path đã cho và với chế độ dạng số mode đã cho. Mode mặc định là 0777 (trong hệ bát phân).

Cú pháp

Cú pháp của mkdir() trong Python:

os.mkdir(path[, mode])

Chi tiết về tham số:

  • path -- Đây là path cần được tạo.

  • mode -- Đây là mode cung cấp cho các thư mục.

Quảng cáo

Trả về giá trị

Phương thức này không trả về bất cứ giá trị nào.

Chương trình Python ví dụ

Ví dụ sau minh họa cách sử dụng của mkdir() trong Python.

 

import os, sys

# Path de duoc tao
path = "/tmp/home/monthly/daily/hourly"

os.mkdir( path, 0755 );

print "Path duoc tao thanh cong"

Chạy chương trình Python trên sẽ cho kết quả:

Path duoc tao thanh cong

Trang trước

PDF

Trang sau  

file_io_trong_python.jsp



Bài viết liên quan

  • 160 bài học ngữ pháp tiếng Anh hay nhất

  • 155 bài học Java tiếng Việt hay nhất

  • 100 bài học Android tiếng Việt hay nhất

  • 247 bài học CSS tiếng Việt hay nhất

  • 197 thẻ HTML cơ bản

  • 297 bài học PHP

  • 101 bài học C++ hay nhất

  • 97 bài tập C++ có giải hay nhất

  • 208 bài học Javascript có giải hay nhất


Trang trước

Trang sau  


Miêu tả

Phương thức makedirs() là hàm tạo thư mục đệ qui.

Cú pháp

Cú pháp của makedirs() trong Python:

os.makedirs(path[, mode])

Chi tiết về tham số:

  • path -- Đây là path cần được tạo một cách đệ qui.

  • mode -- Đây là mode của các thư mục.

Trả về giá trị

Phương thức này không trả về bất cứ giá trị nào.

Quảng cáo

Chương trình Python ví dụ

Ví dụ sau minh họa cách sử dụng của makedirs() trong Python.

 

import os, sys

# Path de duoc tao
path = "/tmp/home/monthly/daily"

os.makedirs( path, 0755 );

print "Path duoc tao"

Chạy chương trình Python trên sẽ cho kết quả:

Path duoc tao

Trang trước

PDF

Trang sau  

file_io_trong_python.jsp



Bài viết liên quan

  • 160 bài học ngữ pháp tiếng Anh hay nhất

  • 155 bài học Java tiếng Việt hay nhất

  • 100 bài học Android tiếng Việt hay nhất

  • 247 bài học CSS tiếng Việt hay nhất

  • 197 thẻ HTML cơ bản

  • 297 bài học PHP

  • 101 bài học C++ hay nhất

  • 97 bài tập C++ có giải hay nhất

  • 208 bài học Javascript có giải hay nhất

Nội dung chính Show

  • Tạo thư mục trong python | Hàm mkdir()
  • Tạo thư mục trong python cùng các thư mục trung gian | Hàm mkdirs()
  • Tạo thư mục trong python | Phương thức Path.rmdir()
  • Tổng kết
  • Bài viết liên quan
  • Cách di chuyển file trong python
  • Cách copy file trong python
  • Đọc file trong python
  • Cách đổi tên thư mục trong python
  • Lấy kích thước file và thư mục trong python
  • Đổi tên file trong Python
  • Lấy danh sách tên file và thư mục trong python
  • Lấy danh sách tên file và thư mục theo điều kiện trong python

Hướng dẫn cách tạo thư mục trong python. Bạn sẽ học được cách tạo thư mục trong python bằng hàm mkdir() trong module os, cách tạo thư mục trong python cùng các thư mục trung gian bằng hàm mkdirs(), cũng như cách tạo thư mục trong python bằng phương thức Path.rmdir() trong module pathlib sau bài học này.

Tạo thư mục trong python | Hàm mkdir()

Để tạo thư mục mới trong python, chúng ta sử dụng hàm mkdir() trong module os với cú pháp sau đây:

os.mkdir(folder_path, mode=0o777,

import os

folder_path = './user/address'
os.mkdir(folder_path)
4, dir_fd=None)

Thông thường chúng ta bỏ đi phần lớn các đối số trong hàm và chỉ dùng cú pháp rút gọn sau đây:

os.mkdir(folder_path)

Trong đó

import os

folder_path = './user/address'
os.mkdir(folder_path)
5 là đường dẫn của thư mục cần tạo.

Cách sử dụng thì đơn giản như ví dụ sau:
Giả sử bạn có một thư mục có cấu trúc như sau:

data/
├── user
│   ├── dir
│   └── user.txt
└── mkdir.py

Nếu bạn muốn tạo một thư mục mới

import os

folder_path = './user/address'
os.mkdir(folder_path)
6 nằm trong thư mục
import os

folder_path = './user/address'
os.mkdir(folder_path)
7, chúng ta sẽ viết như sau:
import os

folder_path = './user/address'
os.mkdir(folder_path)

Khi đó thư mục

import os

folder_path = './user/address'
os.mkdir(folder_path)
6 sẽ được tạo ra như sau:
data/
├── user
│   ├── dir
│   ├── address
│   └── user.txt
└── mkdir.py

Cần lưu ý, hàm mkdir() không thể tạo thư mục trung gian, ví dụ như nếu bạn muốn tạo ra thư mục

import os

folder_path = './user/address'
os.mkdir(folder_path)
9 nhưng thư mục trung gian
data/
├── user
│   ├── dir
│   ├── address
│   └── user.txt
└── mkdir.py
0 không tồn tại trước đó, lỗi FileNotFoundError sẽ xảy ra:
import os

folder_path = './user/name/kiyoshi'
os.mkdir(folder_path)


Lại nữa, nếu như bạn tạo một thư mục trong python mà thư mục đó vốn đã tồn tại trước đó, lỗi FileExistsError sẽ xảy ra:

FileExistsError: [WinError 183] Cannot create a file when that file already exists:

Tạo thư mục trong python cùng các thư mục trung gian | Hàm mkdirs()

Ở phần trên bạn đã biết chúng ta không thể dùng hàm kdir() để tạo một thư mục nếu thư mục trung gian trong đường dẫn chưa tồn tại.
Khi bạn muốn tạo thư mục trong python với cả thư mục trung gian, hãy dùng hàm mkdirs() với cú pháp sau đây:

os.makedirs(folder_path, mode=0o777, exist_ok=False)

Trong đó

  • import os

    folder_path = './user/address'
    os.mkdir(folder_path)
    5 là đường dẫn của thư mục cần tạo.
  • data/
    ├── user
    │   ├── dir
    │   ├── address
    │   └── user.txt
    └── mkdir.py
    
    2 chỉ định quyền truy cập của folder cần tạo
  • data/
    ├── user
    │   ├── dir
    │   ├── address
    │   └── user.txt
    └── mkdir.py
    
    3: chỉ định hành động khi chúng ta tạo một thư mục vốn đã tồn tại. Nếu chỉ đinh
    data/
    ├── user
    │   ├── dir
    │   ├── address
    │   └── user.txt
    └── mkdir.py
    
    4, lỗi cũng sẽ không xảy ra khi chúng ta tạo thư mục mà thư mục vốn đã tồn tại trước đó.

Thông thường chúng ta bỏ đi phần lớn các đối số trong hàm và chỉ dùng cú pháp rút gọn sau đây:

os.makedirs(folder_path)

Chúng ta sử dụng hàm os.makedirs() tương tự như với hàm os.makedir, khi muốn tạo một thư mục con trong một thư mục mẹ.

import os

folder_path = './user/address'
os.mkdirs(folder_path)

Điểm khác biệt là khi nếu trong đường dẫn của thư mục cần tạo có chứa thư mục trung gian chưa tồn tại trước đó, thì thư mục trung gian này cũng sẽ được tạo ra luôn:

import os

folder_path = './user/name/kiyoshi'
os.mkdirs(folder_path)

Ngoài ra, để tránh xảy ra lỗi khi bạn tạo một thư mục mà thư mục đó vốn đã tồn tại trước đó, chúng ta sử dụng hàm os.mkdirs() kèm đối số

data/
├── user
│   ├── dir
│   ├── address
│   └── user.txt
└── mkdir.py
4 như sau:
import os

folder_path = './user/name/kiyoshi'
os.mkdirs(folder_path,exist_ok=True)

Tạo thư mục trong python | Phương thức Path.rmdir()

Ngoài cách sử dụng hàm mkdir() hay mkdirs(), bạn cũng có thể dùng phương thức Path.rmdir() trong module pathlib để tạo thư mục trong python, với cú pháp sau đây:

Path.mkdir(mode=0o777, parents=False, exist_ok=False)

Trong đó

  • data/
    ├── user
    │   ├── dir
    │   ├── address
    │   └── user.txt
    └── mkdir.py
    
    6 là một instance được tạo ra từ class pathlib.Path trong module pathlib chứa thông tin đường dẫn của thư mục cần tạo.
  • data/
    ├── user
    │   ├── dir
    │   ├── address
    │   └── user.txt
    └── mkdir.py
    
    7 chỉ định quyền truy cập của thư mục cần tạo
  • data/
    ├── user
    │   ├── dir
    │   ├── address
    │   └── user.txt
    └── mkdir.py
    
    8 chỉ định có tạo thư mục trung gian hay không.
    data/
    ├── user
    │   ├── dir
    │   ├── address
    │   └── user.txt
    └── mkdir.py
    
    9 sẽ giúp tạo thư mục trung gian nếu thư mục này không tồn tại trước đó.
  • data/
    ├── user
    │   ├── dir
    │   ├── address
    │   └── user.txt
    └── mkdir.py
    
    3 chỉ định có trả lỗi về khi tạo một thư mục mà thư mục đó vốn đã tồn tại.
    data/
    ├── user
    │   ├── dir
    │   ├── address
    │   └── user.txt
    └── mkdir.py
    
    4 sẽ giúp tránh xảy ra lỗi khi chúng ta tạo một thư mục mà thư mục đó vốn đã tồn tại trước đó.

Thông thường chúng ta bỏ đi phần lớn các đối số trong hàm và chỉ dùng cú pháp rút gọn sau đây:

Path.mkdir()

Ví dụ, chúng ta có thư mục có cấu trúc sau:

data/
├── user
│   ├── dir
│   └── user.txt
└── mkdir.py

Giả sử chúng ta muốn tạo thư mục

import os

folder_path = './user/address'
os.mkdir(folder_path)
6 bên trong thư mục
import os

folder_path = './user/address'
os.mkdir(folder_path)
7 , chúng ta viết:
import pathlib

p = pathlib.Path('./user/address')
p.mkdir()

Sau khi chạy, thư mục

import os

folder_path = './user/address'
os.mkdir(folder_path)
6 sẽ được tạo ra.
data/
├── user
│   ├── dir
│   ├── address
│   └── user.txt
└── mkdir.py

Nếu lúc này chúng ta muốn tạo lại thư mục

import os

folder_path = './user/address'
os.mkdir(folder_path)
6 bằng cách chạy lại lệnh trên, do thư mục
import os

folder_path = './user/address'
os.mkdir(folder_path)
6 đã tồn tại nên lỗi xảy ra:
import os

folder_path = './user/address'
os.mkdir(folder_path)
1

Để tránh lỗi này, chúng ta cần chỉ định thêm đối số

data/
├── user
│   ├── dir
│   ├── address
│   └── user.txt
└── mkdir.py
4 khi tạo một thư mục mà thư mục đó vốn đã tồn tại trước đó:
import os

folder_path = './user/address'
os.mkdir(folder_path)
2

Giả sử chúng ta muốn tạo thư mục

import os

folder_path = './user/address'
os.mkdir(folder_path)
9 mà thư mục trung gian
data/
├── user
│   ├── dir
│   ├── address
│   └── user.txt
└── mkdir.py
0 chưa tồn tại trước đó, chúng ta sẽ chỉ định thêm đối số
data/
├── user
│   ├── dir
│   ├── address
│   └── user.txt
└── mkdir.py
9 để tránh lỗi xảy ra như sau:
import os

folder_path = './user/address'
os.mkdir(folder_path)
3

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về cách tạo thư mục trong python rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về python trong các bài học tiếp theo.

Viết bởi Kiyoshi. Đã đăng ký bản quyền tác giả tại Creativecommons và DMCA