Học Python từ con số 0 (Phần 3): Thao tác với tệp tin và thư mục
Bài đăng này đã không được cập nhật trong 6 năm
Tệp tin (File)
Mở file
Trước khi muốn đọc hoặc ghi file, bạn cần có thao tác mở file theo cú pháp
fh = open(filepath, mode)
Trong đó filepath
là đường dẫn của file sẽ mở và mode
là chế độ mở. Có một số chế độ là:
r
: mở để đọc nội dung (mặc định)w
: mở để ghi nội dunga
: Mở để thêm nội dung vào cuối filer+
: mở để đọc và ghi. Con trỏ nằm ở đầu filew+
: mở để đọc và ghi. Ghi đè nếu file đã tồn tại, nếu file chưa tồn tại thì tạo file mới để ghi.a+
: mở để đọc và thêm vào cuối file. Con trỏ nằm ở cuối file. Nếu file chưa tồn tại thì tạo file mới để ghi.
Mặc định là mở file text, nếu muốn mở file nhị phân (binary) thì thêm b
, ví dụ: rb
, wb
, rb+
...
Ví dụ
f1 = open('test.txt', 'r')
f2 = open('access_log', 'a+')
Sau khi gọi hàm open()
thành công thì sẽ trả ra một object có thuộc tính:
closed
:true
nếu file đã đóngmode
: chế độ khi mở filename
: tên của filesoftspace
: cờ đánh dấu softspace khi dùng với hàmprint
Đọc nội dung từ file
Sau khi file đã mở ở chế độ đọc thì gọi phương thức read([count])
để trả về toàn bộ nội dung của file. Ví dụ:
f1 = open('test.txt', 'r')
data = f1.read();
Hàm read()
có nhận một tham số là số lượng byte muốn đọc. Nếu khong truyền vào thì sẽ đọc hết nội dung của file.
Ví dụ:
fe = open('log.txt', 'r')
buffdata = f2.read(1024)
Ghi nội dung vào file
Nếu file được mở ở chế độ có thể ghi thì có thể dùng write()
để ghi một nội dung vào file. Ví dụ:
f2 = open('access_log', 'a+')
f2.write('Attack detected')
Đóng file đã mở
Sau khi hoàn tất các thao tác đọc ghi file thì gọi phương thức close()
để đóng file đã mở. Ví dụ:
f1.close()
f2.close()
Đổi tên file
Sử dụng phương thức os.rename(old, new)
để đổi tên một file. Ví dụ:
import os
os.rename('test.txt', 'test_new.txt')
Xoá file
Sử dụng os.remove(file)
để xoá file khỏi hệ thống
import os
os.remove('test.txt')
Thư mục (Directory)
Tạo thư mục
Sử dụng phương thức os.mkdir(dir)
để taọ thư mục. Ví dụ:
import os
os.mkdir('test')
Xoá thư mục
Sử dụng os.rmdir(dir)
để xoá một thư mục. Ví dụ
import os
os.rmdir("test")
Đọc nội dung thư mục
Sử dụng os.listdir(dir)
để lấy danh sách tập tin, thư mục của thư mục dir
. Khi gọi sẽ trả về một mảng các danh sách tập tin, thư mục. Ví dụ:
import os
allfiles = os.listdir('/root/downloads')
print allfiles
Module os
Module os
là một module có nhiều phương thức hữu ích trong việc làm việc với các file và directory như:
os.chdir(path)
: đổi thư mục hiện hànhos.getcwd()
trả về thư mục hiện hànhos.chmod(path, mode)
: CHMOD một đường dẫnos.chown
(path, uid, gid): CHOWN một đường dẫnos.makedirs(path[path[, mode])
: tạo đường dẫn (có recursive)os.removedirs(path)
: xoá một đường dẫn (có recursive)
Module os.path
Module os.path
hỗ trợ các phương thức giúp thao tác nhanh chóng và thuận tiện hơn trên đường dẫn
- `os.path.exists(path): kiểm tra một đường dẫn có tồn tại hay không
os.path.getfile(path)
: lấy file size (byte)os.path.isfile(path)
: kiểm tra xem có phải là file thông thường khôngos.path.isdir(path)
: kiểm tra xem có phải là một thư mụcos.path.dirname(path)
: trả về tên thư mục của pathos.path.getatime(path)
: trả về thời gian truy cập mới nhấtos.path.getmtime(path)
: trả về thời gian chỉnh sửa cuối cùngos.path.getctime(path)
: trả về thời gian chỉnh sưả cuối của metadata trên hệ thống. Hoặc trả về thời gian tạo trên Windows
Cảm ơn bạn đã theo dõi bài viết của tôi. Ở bài viết tiếp theo trong seri tôi sẽ giới thiệu một thứ rất thú vị trong Python. Hãy cùng theo dõi nhé !
All rights reserved