Tạo và lưu file trong thư mục mới bằng python | Laptrinhcanban.com

Tạo và lưu file trong thư mục mới bằng python

Hướng dẫn cách xử lý file trong Python. Bạn sẽ học được cách tạo thư mục trong python bằng os.makedirs, cách tạo một file mới trong python bằng hàm open(), kết hợp chúng lại để tạo và lưu file trong thư mục mới bằng python sau bài học này.

Lỗi khi tạo file tại một thư mục không tồn tại trong python

Khi tạo một file mới trong python bằng hàm open(), nếu như thư mục chứa file đó vốn không tồn tại thì lỗi FileNotFoundError sẽ xảy ra.

open('not_exist_dir/new_file.txt', 'w')
# FileNotFoundError

Trong đó not_exist_dir là đường dẫn chứa thư mục không tồn tại.

Nói cách khác, chúng ta chỉ có thể tạo một file mới trong python bằng hàm open() một cách trực tiếp nếu như thư mục chứa file đó đã tồn tại mà thôi.

Trong trường hợp bạn cần tạo một file mới trong một thư mục mà thư mục đó không tồn tại, cần phải qua một bước trung gian, đó là tạo thư mục mới đó bằng hàm os.makedirs() dưới đây.

Tạo thư mục mới trong python

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

import os

os.makedirs(new_dir_path, exist_ok=True)

Trong đó new_dir_path là đường dẫn thư mục cần tạo. Đối số exist_ok=True giúp chúng ta tránh lỗi nếu như thư mục cần tạo đã tồn tại trước đó.

Trong các phiên bản Python cũ, do không có đối số exist_ok=True trong hàm os.makedirs nên nếu thư mục đã tồn tại trước đó, lỗi sẽ xảy ra.

Khi đó chúng ta cần kết hợp thêm câu lệnh kiểm tra một đường dẫn có tồn tại hay không bằng cách sử dụng hàm os.path.exists() như ví dụ sau:

if not os.path.exists(new_dir_path):
os.makedirs(new_dir_path)

Tuy nhiên trong các phiên bản Python mới, do chúng ta có thể sử dụng đối số exist_ok=True, nên ngay cả khi thư mục cần tạo đã tồn tại, sẽ không có lỗi nào xảy ra.

Tạo và lưu file trong thư mục mới bằng python

Kết hợp hàm os.makedirs() và hàm open(), chúng ta có thể tạo ra một hàm số dùng để tạo và lưu file trong thư mục mới bằng python như sau:

import os
def save_file_at_dir(dir_path, filename, file_content, mode='w'):
os.makedirs(dir_path, exist_ok=True)
with open(os.path.join(dir_path, filename), mode) as f:
f.write(file_content)

Trong đó

  • dir_path là đường dẫn thư mục mới chứa file cần tạo
  • filename là tên file
  • file_content là nội dung cần ghi vào file
  • mode là mode dùng để mở file. Chúng ta dùng mode w để mở và ghi file trong trường hợp này. Bạn cũng có thể chỉ định các mode khác nhau tùy mục đích tạo file của mình.

Chúng ta có thể sử dụng hàm tự tạo ở trên để tạo và lưu file trong thư mục mới bằng python như ví dụ sau đây:

save_file_at_dir('D:/data/test', 'new_file.txt', 'hello world')

Hãy thử chạy chương trình trên máy tính của bạn và kiểm tra xem một file mới có tên new_file.txt có nội dung hello world đã được tạo ra tại đường dẫn D:\data\test trên máy tính của bạn hay chưa nhé.

Lại nữa, chúng ta có sử dụng các kiến thức sau khi viết lệnh ở trên:

  • Nối đường dẫn bằng os.path.join()
  • Tự tạo hàm số trong python bằng câu lệnh def

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về cách tạo và lưu file trong thư mục mới bằng 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.

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.