Nội dung chính
- Lỗi khi tạo file tại một thư mục không tồn tại trong python
- Tạo thư mục mới trong python
- Tạo và lưu file trong thư mục mới bằng python
- Tổng kết
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']
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.
- Bạn có thể tìm hiểu các cách tạo thư mục khác tại bài viết Tạo thư mục trong python.
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ạofilename
là tên filefile_content
là nội dung cần ghi vào filemode
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.
Viết bởi Kiyoshi. Đã đăng ký bản quyền tác giả tại <a title="Bạn được tự do chia sẻ bài viết nhưng phải để lại đường link bài viết từ laptrinhcanban.com. Bạn không được sử dụng tài liệu cho mục đích thương mại. Không được phép chỉnh sửa nội dung được phát hành trên website của chúng tôi" style="color:#fff;background-color:silver" rel="license noopener" target="_blank" href="//creativecommons.org/licenses/by-nc-nd/4.0/">Creativecommons</a> và <a title="Bạn được tự do chia sẻ bài viết nhưng phải để lại đường link bài viết từ laptrinhcanban.com. Bạn không được sử dụng tài liệu cho mục đích thương mại. Không được phép chỉnh sửa nội dung được phát hành trên website của chúng tôi" style="color:#fff;background-color:silver" target="_blank" rel="noopener" href="//www.dmca.com/Protection/Status.aspx?ID=1631afcd-7c4a-467d-8016-402c5073e5cd" class="dmca-badge">DMCA</a><script src="//images.dmca.com/Badges/DMCABadgeHelper.min.js">
Bài viết liên quan
Đổi tên file trong Python
Cách copy file trong python
Đọc file trong python
Cách di chuyển file trong python
Kiểm tra tồn tại của file và thư mục trong python
Cách đổi tên thư mục 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