Bạn đang xem : python đọc tệp văn bản

Trong hướng dẫn này, bạn sẽ học cách đọc tệp văn bản bằng Python với hàm mở . Học cách mở, đọc và đóng tệp văn bản một cách an toàn là một kỹ năng quan trọng cần học khi bạn bắt đầu làm việc với các loại tệp khác nhau. Trong hướng dẫn này, bạn sẽ học cách sử dụng trình quản lý ngữ cảnh để xử lý các tệp đang mở một cách an toàn và hiệu quả.

Đến cuối hướng dẫn này, bạn sẽ học được:

  • Cách mở và đọc tệp văn bản bằng Python
  • Cách đọc tệp theo các cách khác nhau và ở các định dạng khác nhau
  • Cách đọc tệp cùng một lúc hoặc từng dòng
  • Cách đọc tệp vào danh sách hoặc vào từ điển

Cách mở tệp văn bản bằng Python

Python cung cấp một số cách dễ dàng để tạo, đọc và ghi tệp. Vì chúng tôi đang tập trung vào cách đọc một tệp văn bản, hãy xem hàm open () trong Python. Chức năng này tạo điều kiện thuận lợi cho việc mở tệp.

Hãy xem hàm mở Python này:

  open (
    tệp, # Tên đường dẫn
    mode = ’r’, # Chế độ mở tệp trong
    đệm = -1, # Chính sách đệm
    encoding = Không có, # Kiểu mã hóa được sử dụng cho tệp
    error = Không, # Cách xử lý lỗi mã hóa / giải mã
    newline = Không có, # Cách xác định các dòng mới
    closefd = True, # Có giữ bộ mô tả tệp mở không
    openner = Không có # Sử dụng một công cụ mở tùy chỉnh
    )  

Trong hướng dẫn này, chúng tôi sẽ chỉ tập trung vào ba tham số quan trọng nhất: file = , mode = encoding = .

Khi mở tệp, chúng tôi có một số tùy chọn khác nhau về cách mở tệp. Điều này được kiểm soát bởi tham số mode . Hãy xem xét các đối số khác nhau mà tham số này nhận:

CharacterMeaning 'r' Mở để đọc (mặc định) 'w' Mở để ghi (trước tiên cắt ngắn tệp) 'x' Mở để tạo độc quyền (không thành công nếu tệp đã tồn tại) 'a' Mở để ghi (nối vào tệp nếu nó tồn tại) 'b' Mở ở chế độ nhị phân 't' Chế độ văn bản '+' Mở để cập nhật (đọc và ghi) Các đối số khác nhau cho tham số mode = trong hàm mở Python

Được rồi, hãy xem cách chúng ta có thể mở một tệp bằng Python. Vui lòng tải xuống tệp văn bản này , nếu bạn muốn theo dõi từng dòng một. Lưu tệp và lưu ý đường dẫn của nó vào biến file_path bên dưới:

  # Mở tệp văn bản bằng Python
file_path = 'https://e6v4p8w2.rocketcdn.me/Users/datagy/Desktop/sample_text.txt'

file = open (file_path)
in lại file này)

# Trả về: & lt; _io.TextIOWrapper name = 'https: //e6v4p8w2.rocketcdn.me/Users/datagy/Desktop/sample_text.txt' mode = 'r' encoding = 'UTF-8' & gt;  < / pre>

Khi chúng tôi chạy điều này, chúng tôi đang mở tệp văn bản. Tại đây, tôi sẽ đi đường vòng nhanh chóng và thảo luận về tầm quan trọng của việc đóng tệp . Python phải được yêu cầu rõ ràng để quản lý các tài nguyên bên ngoài mà chúng tôi chuyển vào. Theo mặc định, Python sẽ cố gắng và giữ lại tài nguyên đó lâu nhất có thể, ngay cả khi chúng tôi đã sử dụng xong.

Do đó, chúng tôi có thể đóng tệp bằng cách sử dụng phương thức .close () :

  # Đóng tệp bằng .close ()
file_path = 'https://e6v4p8w2.rocketcdn.me/Users/datagy/Desktop/sample_text.txt'

file = open (file_path)
file.close ()  

Xử lý tệp bằng trình quản lý ngữ cảnh bằng Python

Một giải pháp thay thế tốt hơn cho phương pháp này là sử dụng trình quản lý ngữ cảnh . Trình quản lý ngữ cảnh xử lý việc mở tệp, thực hiện các tác vụ trên đó, sau đó đóng tệp một cách an toàn! Điều này có nghĩa là tài nguyên của bạn có thể an toàn hơn và mã của bạn có thể sạch hơn.

Hãy xem cách chúng ta có thể sử dụng trình quản lý ngữ cảnh để mở tệp văn bản bằng Python:

  # Sử dụng trình quản lý ngữ cảnh để mở tệp
file_path = 'https://e6v4p8w2.rocketcdn.me/Users/nikpi/Desktop/sample_text.txt'

với open (file_path) dưới dạng tệp:
    ...  

Chúng tôi có thể thấy ở đây rằng bằng cách sử dụng từ khóa with , chúng tôi có thể mở tệp. Sau đó, trình quản lý ngữ cảnh sẽ xử lý ngầm việc đóng tệp sau khi tất cả các hành động lồng nhau hoàn tất!

Được rồi, bây giờ bạn đã hiểu về cách mở tệp bằng Python, hãy xem cách chúng ta thực sự có thể đọc tệp!

Cách đọc tệp văn bản trong Python

Hãy bắt đầu bằng cách đọc toàn bộ tệp văn bản. Điều này có thể hữu ích khi bạn không có nhiều nội dung trong tệp của mình và muốn xem toàn bộ nội dung của tệp. Để thực hiện việc này, chúng tôi sử dụng phương thức .read () có tên aptly.

Hãy xem cách chúng ta có thể sử dụng trình quản lý ngữ cảnh và phương thức .read () để đọc toàn bộ tệp văn bản bằng Python:

  # Đọc toàn bộ tệp văn bản bằng Python
file_path = 'https://e6v4p8w2.rocketcdn.me/Users/datagy/Desktop/sample_text.txt'

với open (file_path) dưới dạng tệp:
    print (file.read ())

# Trả lại:
# Chào bạn!
# Chào mừng bạn đến với datagy!
# Hôm nay chúng ta học cách đọc tệp văn bản.
# Hẹn gặp lại!  

Chúng tôi có thể thấy điều đó dễ dàng như thế nào! Phương thức .read () trả về một chuỗi, nghĩa là chúng ta cũng có thể gán nó cho một biến.

Phương thức .read () cũng nhận tham số tùy chọn để giới hạn số ký tự cần đọc . Hãy xem cách chúng tôi có thể sửa đổi điều này một chút:

  # Chỉ đọc một số ký tự
file_path = 'https://e6v4p8w2.rocketcdn.me/Users/datagy/Desktop/sample_text.txt'

với open (file_path) dưới dạng tệp:
    print (file.read (28))

# Trả lại:
# Chào bạn!
# Chào mừng bạn đến với datagy!  

Nếu đối số được cung cấp là phủ định hoặc trống, thì toàn bộ tệp sẽ được đọc.

Cách đọc từng dòng một tệp văn bản trong Python

< / p>

Trong một số trường hợp, các tệp của bạn sẽ quá lớn để có thể đọc tất cả cùng một lúc một cách thuận tiện. Đây là nơi mà việc có thể đọc từng dòng tệp của bạn trở nên quan trọng.

Phương thức Python .readline () chỉ trả về một dòng duy nhất tại một thời điểm. Điều này có thể rất hữu ích khi bạn đang phân tích cú pháp tệp cho một dòng cụ thể hoặc chỉ đơn giản là muốn in các dòng được sửa đổi một chút.

Hãy xem cách chúng tôi có thể sử dụng phương pháp này để in ra từng dòng tệp:

  # Đọc một dòng trong Python
file_path = 'https://e6v4p8w2.rocketcdn.me/Users/datagy/Desktop/sample_text.txt'

với open (file_path) dưới dạng tệp:
    print (file.readline ())

# Trả lại:
# Xin chào!  

Trong ví dụ trên, chỉ dòng đầu tiên được trả về. Chúng ta có thể gọi phương thức này nhiều lần để in nhiều hơn một dòng:

  # Đọc nhiều dòng bằng Python
file_path = 'https://e6v4p8w2.rocketcdn.me/Users/datagy/Desktop/sample_text.txt'

với open (file_path) dưới dạng tệp:
    print (file.readline ())
    print (file.readline ())

# Trả lại:
# Chào bạn!

# Chào mừng bạn đến với datagy!  

Quá trình này có thể hơi thừa, đặc biệt là vì nó yêu cầu bạn biết có bao nhiêu dòng. Rất may, đối tượng tệp mà chúng tôi đã tạo là một đối tượng có thể lặp lại và chúng tôi có thể chỉ cần lặp lại các mục sau:

  # In tất cả các dòng, từng dòng
file_path = 'https://e6v4p8w2.rocketcdn.me/Users/datagy/Desktop/sample_text.txt'

với open (file_path) dưới dạng tệp:
    cho dòng trong tệp:
        in (dòng)

# Trả lại:
# Chào bạn!

# Chào mừng bạn đến với datagy!

# Hôm nay chúng ta học cách đọc tệp văn bản.

# Hẹn gặp lại!  

Cách đọc một tệp văn bản bằng Python thành một danh sách

< / p>

Đôi khi, bạn muốn lưu trữ dữ liệu mà bạn đã đọc trong một đối tượng bộ sưu tập , chẳng hạn như danh sách Python . Chúng tôi có thể thực hiện điều này bằng cách sử dụng phương thức .readlines () , phương thức này đọc tất cả các dòng cùng một lúc trong một danh sách.

Hãy xem cách chúng tôi có thể sử dụng phương pháp này:

  # Đọc tệp văn bản vào danh sách
file_path = 'https://e6v4p8w2.rocketcdn.me/Users/datagy/Desktop/sample_text.txt'

với open (file_path) dưới dạng tệp:
    line_list = file.readlines ()

print (line_list)

# Trả lại:
# ['Xin chào! \ N', "Chào mừng bạn đến với datagy! \ N '," Hôm nay chúng ta học cách đọc tệp văn bản. \ N', "Hẹn gặp lại!"]  

Chúng tôi có thể xóa các ký tự dòng mới bằng cách sử dụng phương thức .rstrip () , sẽ loại bỏ khoảng trắng ở cuối:

  # Xóa các dòng mới theo sau khỏi danh sách của chúng tôi
file_path = 'https://e6v4p8w2.rocketcdn.me/Users/datagy/Desktop/sample_text.txt'

với open (file_path) dưới dạng tệp:
    line_list = file.readlines ()
    line_list = [item.rstrip () cho mục trong line_list]

print (line_list)

# Trả lại:
# ["Xin chào!", "Chào mừng bạn đến với datagy!", "Hôm nay chúng ta học cách đọc tệp văn bản.", "Hẹn gặp lại!"]  

Cách đọc từ điển một tệp văn bản bằng Python

Bây giờ, hãy xem cách chúng ta có thể đọc tệp vào từ điển bằng Python. Đối với phần này, tải xuống tệp được liên kết tại đây . Tệp chứa danh sách mua sắm từng dòng một về vật tư mà chúng tôi cần cho một dự án:

  Lumber, 4
Vít, 16
Đinh, 12
Sơn, 1
Búa, 1  

Chúng tôi muốn có thể đọc tệp văn bản này thành từ điển để chúng tôi có thể dễ dàng tham khảo số lượng vật tư mình cần cho mỗi mặt hàng.

Một lần nữa, chúng ta có thể sử dụng phương thức .readlines () . Sau đó, chúng tôi có thể phân tích cú pháp từng mục trong danh sách và sử dụng khả năng hiểu từ điển , tách các giá trị để tạo từ điển:

  # Đọc tệp vào từ điển
file_path = 'https://e6v4p8w2.rocketcdn.me/Users/datagy/Desktop/text_resources.txt'

với open (file_path) dưới dạng tệp:
    tài nguyên = {}
    cho dòng trong tệp:
        key, value = line.rstrip (). split (',', 1)
        resource [key] = value

    # Hoặc như một cách hiểu từ điển:
    resources2 = {key: value for line in file for key, value in [line.rstrip (). split (',', 1)]}

in (tài nguyên)

# Trả về: {'Lumber': '4', 'Vít': '16', 'Đinh': '12', 'Sơn': '1', 'Búa': '1'}  

Trong trường hợp này, vòng lặp for dễ đọc hơn đáng kể. Hãy xem chúng tôi đang làm gì ở đây:

  1. Chúng tôi khởi tạo một từ điển trống
  2. Chúng tôi lặp lại từng dòng trong tệp
  3. Đối với mỗi dòng, chúng tôi xóa khoảng trắng ở cuối và chia dòng theo dấu dấu phẩy đầu tiên
  4. Sau đó, chúng tôi gán giá trị đầu tiên làm khóa của từ điển và sau đó gán giá trị cho các mục còn lại

Cách đọc tệp văn bản bằng Python với mã hóa cụ thể

< / p>

Trong một số trường hợp, bạn sẽ làm việc với các tệp không được mã hóa theo cách Python có thể xử lý ngay lập tức. Khi điều này xảy ra, bạn có thể chỉ định loại mã hóa để sử dụng. Ví dụ: chúng tôi có thể đọc tệp bằng cách sử dụng mã hóa 'utf-8' bằng cách viết mã bên dưới:

  # Chỉ định mã hóa
file_path = 'https://e6v4p8w2.rocketcdn.me/Users/datagy/Desktop/sample_text.txt'

mở (file_path, encoding = 'utf-8') dưới dạng tệp:
    line_list = file.readlines ()  

Kết luận

Trong bài đăng này, bạn đã học cách sử dụng Python để đọc tệp văn bản. Bạn đã học cách xử lý việc mở và đóng tệp một cách an toàn bằng trình quản lý ngữ cảnh with . Sau đó, bạn học cách đọc một tệp, trước hết là cùng một lúc, sau đó từng dòng. Bạn cũng đã học cách chuyển đổi tệp văn bản thành danh sách Python và cách phân tích cú pháp tệp văn bản thành từ điển bằng Python.

Tài nguyên bổ sung

Để tìm hiểu thêm về các chủ đề liên quan, hãy xem các hướng dẫn bên dưới:


Xem thêm những thông tin liên quan đến chủ đề python đọc một tệp văn bản

Bài 40: Thao tác với tệp, đọc, ghi data vào tệp python - File io python

  • Tác giả: Gà Lại Lập Trình
  • Ngày đăng: 2021-12-22
  • Đánh giá: 4 ⭐ ( 8213 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: ✅ Nếu thấy video hay và bổ ích hãy like và chia sẻ để mình biết
    Các bạn đang quan tâm nhiều đến chủ đề nào và phát triển tiếp cho nội dung đăng sau này
    ✅ Đăng ký kênh để không bỏ lỡ video: http://dangky.tuhoc.cc
    Playlist Video :
    ✅C cơ bản cho người mới: http://csharp.tuhoc.cc/
    ✅ Python căn bản cho người mới: http://python.tuhoc.cc/
    ✅ pygame lập trình game cho người mới : http://pygame.tuhoc.cc/
    ✅ opencv python : http://opencv.tuhoc.cc/
    ✅ clip động lực để học tập : http://dongluc.tuhoc.cc/
    Nhóm thảo luận:
    ✅ Facebook : http://fb.tuhoc.cc/
    ✅ Toàn bộ tài liệu silde bài giảng post tại disord : http://dc.tuhoc.cc/

    python laptrinhpython pythoncoban galailaptrinh pythonvietnam python_cho_nguoi_moi opencv_python

Tìm hiểu và làm việc với File trong Python

  • Tác giả: t3h.edu.vn
  • Đánh giá: 5 ⭐ ( 2870 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong bài viết này, bạn sẽ tìm hiểu nơi có thể lưu trữ, truy xuất cũng như thao tác với các file như cách đọc file, ghi file, ... trong Python.

Tệp CSV Python: Đọc và Viết

  • Tác giả: helpex.vn
  • Đánh giá: 5 ⭐ ( 1365 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Python có một thư viện lớn các mô-đun đi kèm với phân phối của nó. Mô-đun csv cung cấp cho lập trình viên Python khả năng phân tích các tệp CSV (Giá trị phân tách bằng dấu phẩy). Tệp CSV là…

Đọc ghi file trong Python

  • Tác giả: nguyenvanhieu.vn
  • Đánh giá: 4 ⭐ ( 5588 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Đọc ghi file trong Python hoặc trong bất kỳ ngôn ngữ nào khác là một thao tác thường xuyên được sử dụng trong quá trình làm việc. Bài viết này sẽ hướng dẫn

Xử lý tệp bằng Python - Tìm hiểu và nắm rõ nhanh trong 10 phút

  • Tác giả: t3h.com.vn
  • Đánh giá: 3 ⭐ ( 3695 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Tính linh hoạt này, kết hợp với sự dễ sử dụng cho người mới bắt đầu, đã khiến nó trở thành một trong những ngôn ngữ lập trình được sử dụng rộng rãi nhất hiện nay. Trong bài học này, bạn sẽ tìm hiểu tất cả về Xử lý tệp bằng Python.

Đọc và ghi text file trong python qua ví dụ cụ thể » Cafedev.vn

  • Tác giả: cafedev.vn
  • Đánh giá: 3 ⭐ ( 8140 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Python cung cấp các hàm có sẵn để tạo, viết và đọc tệp. Có hai loại tệp có thể được xử lý trong python, tệp văn bản bình thường và tệp nhị phân (được viết bằng ngôn ngữ nhị phân, 0s và 1s).

Chi tiết bài học 17.Xử lý tệp Python

  • Tác giả: vimentor.com
  • Đánh giá: 5 ⭐ ( 5505 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Vimentor chi tiết bài học Xử lý tệp Python: Tạo, mở, ghi tiếp, đọc, ghi

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  PHP: Thao tác trên Dữ liệu (Data) - hàm mysql_num_rows trong php

By ads_php