Điều gì xảy ra khi bạn mở một tệp bằng Python?

Dữ liệu có thể ở dạng tệp như văn bản, csv và tệp nhị phân. Để trích xuất dữ liệu từ các tệp này, Python đi kèm với các hàm tích hợp để mở tệp, sau đó đọc và ghi nội dung của tệp

Sau khi đọc hướng dẫn này, bạn có thể học. –

  • Cách mở tệp bằng Python bằng cả đường dẫn tương đối và tuyệt đối
  • Các chế độ truy cập tệp khác nhau để mở tệp
  • Cách mở tệp để đọc, viết và nối thêm
  • Cách mở tệp bằng câu lệnh
    # Opening the file with relative path
    try:
        fp = open("sample.txt", "r")
        print(fp.read())
        fp.close()
    except FileNotFoundError:
        print("Please check the path.")
    2
  • Tầm quan trọng của việc đóng tệp

Mục lục

Chế độ truy cập để mở tệp

Tham số chế độ truy cập trong hàm

# Opening the file with relative path
try:
    fp = open("sample.txt", "r")
    print(fp.read())
    fp.close()
except FileNotFoundError:
    print("Please check the path.")
3 chủ yếu đề cập đến mục đích mở tệp hoặc loại thao tác mà chúng tôi dự định thực hiện với tệp sau khi mở. trong Python, sau đây là các ký tự khác nhau mà chúng tôi sử dụng để đề cập đến các chế độ mở tệp

Chế độ tệp Ý nghĩa_______0_______4Mở tệp để đọc (mặc định)
# Opening the file with relative path
try:
    fp = open("sample.txt", "r")
    print(fp.read())
    fp.close()
except FileNotFoundError:
    print("Please check the path.")
5Mở tệp để ghi. Nếu một tệp đã tồn tại, nó sẽ xóa tất cả nội dung hiện có và thêm nội dung mới từ đầu tệp.
# Opening the file with relative path
try:
    fp = open("sample.txt", "r")
    print(fp.read())
    fp.close()
except FileNotFoundError:
    print("Please check the path.")
6Mở tệp để tạo độc quyền. Nếu tệp đã tồn tại, thao tác này không thành công.
# Opening the file with relative path
try:
    fp = open("sample.txt", "r")
    print(fp.read())
    fp.close()
except FileNotFoundError:
    print("Please check the path.")
7Mở tệp ở chế độ chắp thêm và thêm nội dung mới vào cuối tệp.
# Opening the file with relative path
try:
    fp = open("sample.txt", "r")
    print(fp.read())
    fp.close()
except FileNotFoundError:
    print("Please check the path.")
8Mở tệp ở chế độ nhị phân.
# Opening the file with relative path
try:
    fp = open("sample.txt", "r")
    print(fp.read())
    fp.close()
except FileNotFoundError:
    print("Please check the path.")
9Mở tệp ở chế độ văn bản (mặc định).
fp = open(r'E:\demos\files\reports.txt', 'r')
print(f.read())
0Mở tệp để cập nhật (đọc và viết). Chế độ truy cập tệp

Các bước để mở tệp bằng Python

Để mở tệp bằng Python, vui lòng làm theo các bước sau

  1. Tìm đường dẫn của một tập tin

    Chúng ta có thể mở tệp bằng cả đường dẫn tương đối và đường dẫn tuyệt đối. Đường dẫn là vị trí của tệp trên đĩa
    Một đường dẫn tuyệt đối chứa danh sách thư mục đầy đủ cần thiết để định vị tệp
    Một đường dẫn tương đối chứa thư mục hiện tại và sau đó là tên tệp

  2. Quyết định chế độ truy cập

    Chế độ truy cập chỉ định thao tác bạn muốn thực hiện trên tệp, chẳng hạn như đọc hoặc ghi. Để mở và đọc tệp, hãy sử dụng chế độ truy cập

    # Opening the file with relative path
    try:
        fp = open("sample.txt", "r")
        print(fp.read())
        fp.close()
    except FileNotFoundError:
        print("Please check the path.")
    4. Để mở tệp để ghi, hãy sử dụng chế độ
    # Opening the file with relative path
    try:
        fp = open("sample.txt", "r")
        print(fp.read())
        fp.close()
    except FileNotFoundError:
        print("Please check the path.")
    5

  3. Truyền đường dẫn tệp và chế độ truy cập cho hàm open()

    fp = open(r'E:\demos\files\reports.txt', 'r')
    print(f.read())
    3. Ví dụ, để mở và đọc.
    fp = open(r'E:\demos\files\reports.txt', 'r')
    print(f.read())
    4

  4. Đọc nội dung từ một tập tin

    Tiếp theo, đọc tệp bằng phương pháp

    fp = open(r'E:\demos\files\reports.txt', 'r')
    print(f.read())
    5. Ví dụ,
    fp = open(r'E:\demos\files\reports.txt', 'r')
    print(f.read())
    6. Bạn cũng có thể sử dụng
    fp = open(r'E:\demos\files\reports.txt', 'r')
    print(f.read())
    7 và
    fp = open(r'E:\demos\files\reports.txt', 'r')
    print(f.read())
    8

  5. Ghi nội dung vào tệp

    Nếu bạn đã mở tệp ở chế độ ghi, bạn có thể viết hoặc nối thêm văn bản vào tệp bằng phương pháp

    fp = open(r'E:\demos\files\reports.txt', 'r')
    print(f.read())
    9. Ví dụ,
    FileNotFoundError: [Errno 2] No such file or directory: 'E:\demos\files\reports.txt'
    0. Bạn cũng có thể sử dụng phương pháp
    FileNotFoundError: [Errno 2] No such file or directory: 'E:\demos\files\reports.txt'
    1

  6. Đóng tệp sau khi hoàn thành thao tác

    Chúng tôi cần đảm bảo rằng tệp sẽ được đóng đúng cách sau khi hoàn thành thao tác với tệp. Sử dụng

    FileNotFoundError: [Errno 2] No such file or directory: 'E:\demos\files\reports.txt'
    2 để đóng tệp

Thí dụ. Mở tệp ở chế độ đọc

Đoạn mã sau cho biết cách mở tệp văn bản để đọc bằng Python. Trong ví dụ này, chúng tôi đang mở một tệp bằng Đường dẫn tuyệt đối

Đường dẫn tuyệt đối chứa toàn bộ đường dẫn đến tệp hoặc thư mục mà chúng ta cần truy cập. Nó bao gồm danh sách thư mục đầy đủ cần thiết để định vị tệp

Ví dụ:

FileNotFoundError: [Errno 2] No such file or directory: 'E:\demos\files\reports.txt'
3 là một đường dẫn tuyệt đối để khám phá các mẫu. txt. Tất cả thông tin cần thiết để tìm tệp được chứa trong chuỗi đường dẫn

Xem tệp đính kèm được sử dụng trong ví dụ và hình ảnh hiển thị nội dung của tệp để tham khảo

Điều gì xảy ra khi bạn mở một tệp bằng Python?
Điều gì xảy ra khi bạn mở một tệp bằng Python?
file văn bản mẫu

# Opening the file with absolute path
fp = open(r'E:\demos\files\sample.txt', 'r')
# read file
print(fp.read())
# Closing the file after reading
fp.close()

# path if you using MacOs
# fp = open(r"/Users/myfiles/sample.txt", "r")

đầu ra

Welcome to PYnative.com
This is a sample.txt

Mở tệp có đường dẫn tương đối

Đường dẫn tương đối là đường dẫn bắt đầu từ thư mục đang làm việc hoặc thư mục hiện tại và sau đó sẽ bắt đầu tìm tệp từ thư mục đó đến tên tệp

Ví dụ,

FileNotFoundError: [Errno 2] No such file or directory: 'E:\demos\files\reports.txt'
4 là một đường dẫn tương đối. Trong đường dẫn tương đối, nó sẽ tìm một tệp trong thư mục nơi tập lệnh này đang chạy

# Opening the file with relative path
try:
    fp = open("sample.txt", "r")
    print(fp.read())
    fp.close()
except FileNotFoundError:
    print("Please check the path.")

Xử lý FileNotFoundError: [Errno 2] No such file or directory: 'E:\demos\files\reports.txt'5

Trong trường hợp chúng tôi đang cố mở một tệp không có trong đường dẫn được đề cập thì chúng tôi sẽ nhận được một

FileNotFoundError: [Errno 2] No such file or directory: 'E:\demos\files\reports.txt'
5

________số 8_______

đầu ra

FileNotFoundError: [Errno 2] No such file or directory: 'E:\demos\files\reports.txt'

Chúng tôi có thể xử lý lỗi không tìm thấy tệp bên trong khối thử ngoại trừ. Hãy để chúng tôi xem một ví dụ cho cùng. Sử dụng khối ngoại trừ để chỉ định hành động sẽ được thực hiện khi không có tệp được chỉ định

try:
    fp = open(r'E:\PYnative\reports\samples.txt', 'r')
    print(fp.read())
    fp.close()
except IOError:
    print("File not found. Please check the path.")
finally:
    print("Exit")

đầu ra

File not found. Please check the path.
Exit

Hàm mở tệp ()

Python cung cấp một tập hợp các hàm sẵn có trong trình thông dịch và nó luôn có sẵn. Chúng tôi không phải nhập bất kỳ mô-đun nào cho điều đó. Chúng ta có thể mở một tệp bằng chức năng tích hợp

Cú pháp của hàm tệp

# Opening the file with relative path
try:
    fp = open("sample.txt", "r")
    print(fp.read())
    fp.close()
except FileNotFoundError:
    print("Please check the path.")
3

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

Nó trả về đối tượng tệp mà chúng ta có thể kiện để đọc hoặc ghi vào một tệp

Thông số

Hãy cho chúng tôi xem các tham số mà chúng tôi có thể chuyển đến hàm

# Opening the file with relative path
try:
    fp = open("sample.txt", "r")
    print(fp.read())
    fp.close()
except FileNotFoundError:
    print("Please check the path.")
3 để nâng cao hoạt động của tệp

Tham sốMô tả
FileNotFoundError: [Errno 2] No such file or directory: 'E:\demos\files\reports.txt'
9Giá trị tham số này cung cấp tên đường dẫn (tuyệt đối hoặc liên quan đến thư mục làm việc hiện tại) của tệp sẽ được mở.
try:
    fp = open(r'E:\PYnative\reports\samples.txt', 'r')
    print(fp.read())
    fp.close()
except IOError:
    print("File not found. Please check the path.")
finally:
    print("Exit")
0Đây là chuỗi tùy chọn chỉ định chế độ mở tệp. Giá trị mặc định là
try:
    fp = open(r'E:\PYnative\reports\samples.txt', 'r')
    print(fp.read())
    fp.close()
except IOError:
    print("File not found. Please check the path.")
finally:
    print("Exit")
1 để đọc tệp văn bản. Chúng ta có thể thảo luận về các chế độ khác trong phần sau.
try:
    fp = open(r'E:\PYnative\reports\samples.txt', 'r')
    print(fp.read())
    fp.close()
except IOError:
    print("File not found. Please check the path.")
finally:
    print("Exit")
2Đây là số nguyên tùy chọn được sử dụng để đặt chính sách đệm. Vượt qua 0 để tắt bộ đệm (chỉ được phép ở chế độ nhị phân), 1 để chọn bộ đệm dòng (chỉ có thể sử dụng ở chế độ văn bản) và một số nguyên > 1 để biểu thị kích thước tính bằng byte của bộ đệm khối có kích thước cố định.
try:
    fp = open(r'E:\PYnative\reports\samples.txt', 'r')
    print(fp.read())
    fp.close()
except IOError:
    print("File not found. Please check the path.")
finally:
    print("Exit")
3Đây là tên của mã hóa được sử dụng để giải mã hoặc mã hóa tệp. Cái mặc định phụ thuộc vào nền tảng.
try:
    fp = open(r'E:\PYnative\reports\samples.txt', 'r')
    print(fp.read())
    fp.close()
except IOError:
    print("File not found. Please check the path.")
finally:
    print("Exit")
4Đây là chuỗi tùy chọn biểu thị cách xử lý các lỗi mã hóa và giải mã tiêu chuẩn.
try:
    fp = open(r'E:\PYnative\reports\samples.txt', 'r')
    print(fp.read())
    fp.close()
except IOError:
    print("File not found. Please check the path.")
finally:
    print("Exit")
5Đây là thông số cho biết cách thức hoạt động của chế độ xuống dòng (chỉ áp dụng cho chế độ văn bản). Nó có thể là 
try:
    fp = open(r'E:\PYnative\reports\samples.txt', 'r')
    print(fp.read())
    fp.close()
except IOError:
    print("File not found. Please check the path.")
finally:
    print("Exit")
6, 
try:
    fp = open(r'E:\PYnative\reports\samples.txt', 'r')
    print(fp.read())
    fp.close()
except IOError:
    print("File not found. Please check the path.")
finally:
    print("Exit")
7, 
try:
    fp = open(r'E:\PYnative\reports\samples.txt', 'r')
    print(fp.read())
    fp.close()
except IOError:
    print("File not found. Please check the path.")
finally:
    print("Exit")
8, 
try:
    fp = open(r'E:\PYnative\reports\samples.txt', 'r')
    print(fp.read())
    fp.close()
except IOError:
    print("File not found. Please check the path.")
finally:
    print("Exit")
9 và 
File not found. Please check the path.
Exit
0.
File not found. Please check the path.
Exit
1Tham số này cho biết có đóng bộ mô tả tệp hay không. Giá trị mặc định là true. Nếu
File not found. Please check the path.
Exit
1 là 
File not found. Please check the path.
Exit
3 và một bộ mô tả tệp thay vì tên tệp được cung cấp, thì bộ mô tả tệp cơ bản sẽ được giữ ở trạng thái mở khi đóng tệp. tham số chức năng mở tệp ()

Mở tệp ở chế độ Đọc

Chúng ta có thể mở tệp để đọc nội dung của tệp bằng cách sử dụng hàm

# Opening the file with relative path
try:
    fp = open("sample.txt", "r")
    print(fp.read())
    fp.close()
except FileNotFoundError:
    print("Please check the path.")
3 và chuyển sang chế độ
# Opening the file with relative path
try:
    fp = open("sample.txt", "r")
    print(fp.read())
    fp.close()
except FileNotFoundError:
    print("Please check the path.")
4. Điều này sẽ chỉ mở tệp để đọc nội dung và chúng tôi không thể sử dụng nó cho bất kỳ mục đích nào khác như viết nội dung mới

Về cơ bản, tệp có thể có hai loại là tệp phẳng và tệp không phẳng

  • Các tệp phẳng là những tệp không được lập chỉ mục chính xác, như. csv (các giá trị được phân tách bằng dấu phẩy), trong đó mỗi bản ghi có các giá trị được phân tách bằng dấu phẩy khác nhau. Nhưng chúng không được sắp xếp theo chỉ số. Chúng thường có một bản ghi trên mỗi dòng và nói chung, có một bộ giá trị cố định trong mỗi bản ghi
  • Các tệp không phẳng là những tệp có giá trị chỉ mục phù hợp. Mỗi bản ghi sẽ có một giá trị chỉ mục và chúng ta có thể dễ dàng tìm thấy một giá trị bằng cách sử dụng giá trị chỉ mục

Hãy xem xét rằng chúng tôi đang có một tệp có tên là 'mẫu. txt’ và chúng tôi đang mở tệp để đọc nội dung của nó

try:
    fp = open("sample.txt", "r")
    # Reading the contents of the file and closing
    print(fp.read())
    fp.close()
except IOError:
    print("Please check the path.")

đầu ra

Welcome to PYnative.com
This is a sample.txt

Đọc thêm. Hướng dẫn đầy đủ về cách đọc tệp trong Python

Mở tệp ở chế độ ghi

Chúng ta có thể mở tệp để ghi nội dung mới vào tệp bằng cách sử dụng hàm open() với

# Opening the file with relative path
try:
    fp = open("sample.txt", "r")
    print(fp.read())
    fp.close()
except FileNotFoundError:
    print("Please check the path.")
5 làm chế độ truy cập. Con trỏ hoặc con trỏ tệp sẽ được đặt ở đầu tệp

Ghi chú. Nếu tệp đã có, nó sẽ cắt bớt tệp, nghĩa là tất cả nội dung trước đó trong tệp sẽ bị xóa và nội dung mới sẽ được thêm vào tệp

Welcome to PYnative.com
This is a sample.txt
0

đầu ra

Welcome to PYnative.com
This is a sample.txt
1

Đọc thêm. Hướng dẫn đầy đủ về ghi vào tệp bằng Python

Mở tệp ở chế độ chắp thêm

Chúng ta có thể thêm một số nội dung vào cuối tệp bằng cách sử dụng hàm

# Opening the file with relative path
try:
    fp = open("sample.txt", "r")
    print(fp.read())
    fp.close()
except FileNotFoundError:
    print("Please check the path.")
3 bằng cách chuyển ký tự
# Opening the file with relative path
try:
    fp = open("sample.txt", "r")
    print(fp.read())
    fp.close()
except FileNotFoundError:
    print("Please check the path.")
7 làm chế độ truy cập. Con trỏ sẽ được đặt ở cuối tệp và nội dung mới sẽ được thêm vào cuối

Sự khác biệt giữa chế độ này và chế độ ghi là nội dung của tệp sẽ không bị cắt bớt hoặc xóa trong chế độ này

Hãy xem xét rằng tập tin “sample2. txt” đã được tạo và có một số nội dung trong tệp. Bây giờ chúng tôi đang mở tệp ở chế độ chắp thêm và cố gắng thêm một số nội dung vào cuối tệp

Welcome to PYnative.com
This is a sample.txt
2

đầu ra

Welcome to PYnative.com
This is a sample.txt
3

Điều gì xảy ra khi bạn mở một tệp bằng Python?
Điều gì xảy ra khi bạn mở một tệp bằng Python?
file văn bản mẫu sau khi viết

Đóng một tập tin

Chúng tôi cần đảm bảo rằng tệp sẽ được đóng đúng cách sau khi hoàn thành thao tác với tệp. Đó là một thực tế xấu để mở các tập tin của bạn

Trong Python, việc đóng tệp sau khi hoàn thành công việc là rất quan trọng vì những lý do sau. –

  • Nó giải phóng các tài nguyên đã được gắn với tệp. Bằng cách này, không gian trong RAM có thể được sử dụng tốt hơn và đảm bảo hiệu suất tốt hơn
  • Nó đảm bảo thu gom rác tốt hơn
  • Có giới hạn về số lượng tệp đang mở trong một ứng dụng. Tốt hơn hết là đóng tệp để đảm bảo rằng giới hạn không bị vượt qua
  • Nếu mở file ở chế độ ghi hoặc đọc-ghi thì không biết dữ liệu bị flush lúc nào

Một tệp có thể được đóng chỉ bằng cách gọi hàm

File not found. Please check the path.
Exit
9 như sau

Welcome to PYnative.com
This is a sample.txt
4

Mở tệp bằng câu lệnh # Opening the file with relative path try: fp = open("sample.txt", "r") print(fp.read()) fp.close() except FileNotFoundError: print("Please check the path.")2

Chúng ta có thể mở một tệp bằng câu lệnh with cùng với hàm open. Cú pháp chung như sau

Welcome to PYnative.com
This is a sample.txt
5

Sau đây là những ưu điểm chính của việc mở tệp bằng cách sử dụng câu lệnh

# Opening the file with relative path
try:
    fp = open("sample.txt", "r")
    print(fp.read())
    fp.close()
except FileNotFoundError:
    print("Please check the path.")
2

  • Câu lệnh with đơn giản hóa việc xử lý ngoại lệ bằng cách đóng gói các tác vụ chuẩn bị và dọn dẹp chung
  • Điều này cũng đảm bảo rằng tệp sẽ tự động đóng sau khi rời khỏi khối
  • Khi tệp được đóng tự động, nó đảm bảo rằng tất cả các tài nguyên được liên kết với tệp được giải phóng

Hãy cho chúng tôi xem làm thế nào chúng ta có thể sử dụng câu lệnh with để mở tệp với một ví dụ. Hãy xem xét có hai tệp 'mẫu. txt' và 'sample2. txt’ và chúng tôi muốn sao chép nội dung của tệp đầu tiên sang tệp thứ hai

Welcome to PYnative.com
This is a sample.txt
6

đầu ra

Welcome to PYnative.com
This is a sample.txt
7

Ở đây chúng ta có thể thấy rằng nội dung của sample2. txt đã được thay thế bằng nội dung của mẫu. txt

Tạo một tập tin mới

Chúng ta có thể tạo một tệp mới bằng cách sử dụng hàm

# Opening the file with relative path
try:
    fp = open("sample.txt", "r")
    print(fp.read())
    fp.close()
except FileNotFoundError:
    print("Please check the path.")
3 bằng cách đặt chế độ
# Opening the file with relative path
try:
    fp = open("sample.txt", "r")
    print(fp.read())
    fp.close()
except FileNotFoundError:
    print("Please check the path.")
6. Phương pháp này sẽ đảm bảo rằng tệp không tồn tại và sau đó tạo một tệp mới. Nó sẽ tăng
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
4 nếu tệp đã tồn tại

Thí dụ. Tạo một tập tin mới

Welcome to PYnative.com
This is a sample.txt
8

đầu ra

Welcome to PYnative.com
This is a sample.txt
9

Mở một tệp cho nhiều thao tác

Trong Python, chúng ta có thể mở một tệp để thực hiện đồng thời nhiều thao tác bằng cách sử dụng toán tử

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
5. Khi chúng ta vượt qua chế độ
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
6 thì nó sẽ kích hoạt cả tùy chọn đọc và ghi trong tệp. Hãy để chúng tôi xem điều này với một ví dụ

# Opening the file with relative path
try:
    fp = open("sample.txt", "r")
    print(fp.read())
    fp.close()
except FileNotFoundError:
    print("Please check the path.")
0

Mở tệp nhị phân

Các tệp nhị phân về cơ bản là những tệp có dữ liệu ở định dạng Byte (0 và 1). Điều này thường không chứa EOL (Cuối dòng) vì vậy điều quan trọng là phải kiểm tra điều kiện đó trước khi đọc nội dung của tệp

Chúng ta có thể mở và đọc nội dung của tệp nhị phân như bên dưới

# Opening the file with relative path
try:
    fp = open("sample.txt", "r")
    print(fp.read())
    fp.close()
except FileNotFoundError:
    print("Please check the path.")
1

Tóm lược

Trong hướng dẫn này, chúng tôi đã giới thiệu cách mở tệp bằng các chế độ truy cập khác nhau. Ngoài ra, chúng tôi đã học được tầm quan trọng của việc mở tệp bằng cách sử dụng câu lệnh 'with'

Khi bạn mở một tệp để viết bằng Python?

'r'. Chế độ này cho biết tệp sẽ chỉ được mở để đọc
'w'. Chế độ này chỉ ra rằng tệp sẽ chỉ được mở để ghi. .
'một'. Chế độ này chỉ ra rằng đầu ra của chương trình đó sẽ được thêm vào đầu ra trước đó của tệp đó

Mở một tệp có nghĩa là gì?

Một tệp, thường là tệp đĩa, đã được hệ điều hành cung cấp cho ứng dụng để đọc và/hoặc ghi . Tất cả các tệp phải được "mở" trước khi chúng có thể được truy cập và "đóng" khi không còn cần thiết.

Tệp là gì và nó được mở bằng Python giải thích như thế nào?

Xử lý tệp . Hàm open() nhận hai tham số; . Có bốn phương pháp (chế độ) khác nhau để mở tệp. "r" - Đọc - Giá trị mặc định. Mở tệp để đọc, báo lỗi nếu tệp không tồn tại. The key function for working with files in Python is the open() function. The open() function takes two parameters; filename, and mode. There are four different methods (modes) for opening a file: "r" - Read - Default value. Opens a file for reading, error if the file does not exist.