Đối tượng tệp Python


Python có sẵn một tập hợp các phương thức cho đối tượng tệp

MethodDescriptionclose()Đóng fileetach()Trả về luồng thô đã tách từ bộ đệmfileno()Trả về một số đại diện cho luồng, từ phối cảnh của hệ điều hànhflush()Xả bộ đệm bên trong()Trả về liệu luồng tệp có tương tác hay không đọc()

Tìm hiểu thêm về đối tượng tệp trong Hướng dẫn xử lý tệp Python của chúng tôi


Trong python, bất cứ khi nào chúng tôi thử đọc hoặc ghi tệp, chúng tôi không cần nhập bất kỳ thư viện nào vì nó được xử lý nguyên bản

Điều đầu tiên chúng ta sẽ làm là sử dụng hàm open tích hợp để lấy một đối tượng tệp

Hàm open mở một tệp và trả về một đối tượng tệp. Các đối tượng tệp chứa các phương thức và thuộc tính mà sau này có thể được sử dụng để truy xuất thông tin hoặc thao tác với tệp bạn đã mở

một tập tin là gì?

Trước khi thực hiện bất kỳ thao tác nào trên tệp, trước tiên chúng ta hãy hiểu tệp là gì?

Trong python, thao tác tệp được thực hiện theo thứ tự sau

  • Mở một tập tin
  • Thao tác đọc hoặc ghi
  • Đóng một tập tin

Mở tệp- Hàm Open()

Để mở một tệp với mục đích đọc hoặc ghi, chúng ta phải sử dụng hàm open() có sẵn

Hàm open() sử dụng hai đối số. Đầu tiên là tên của tệp và thứ hai là mục đích chúng tôi muốn mở nó. i. e. để đọc hay viết?

Cú pháp để mở một đối tượng tệp trong python là

File_obj = open(“filename”, “mode”)

Ở đâu

  • File_obj hay còn gọi handle là biến để thêm đối tượng file

  • tên tập tin. Tên của tập tin

  • cách thức. Để báo cho trình thông dịch biết tệp sẽ được sử dụng theo cách nào

>>> f = open("pytube1.py") # open file in current directory
>>> f = open(r"c:\users\rajesh\Documents\readme.txt") # Open file from the given path

Đối số chế độ

Như chúng ta có thể thấy ở trên, việc đưa đối số thứ hai cho hàm open() là tùy chọn, đó là chế độ. Chúng tôi có thể chỉ định chế độ trong khi mở tệp. i. e. cho dù chúng tôi muốn đọc 'r', viết 'w' hay nối 'a' vào tệp. Chúng tôi cũng có thể chỉ định nếu chúng tôi muốn mở tệp ở chế độ văn bản hoặc chế độ nhị phân

Chế độ mặc định là chế độ văn bản nơi chúng tôi nhận được các chuỗi khi đọc từ tệp

Dưới đây là các chế độ khác nhau được hỗ trợ trong hàm open()

Chế độ tệp Python

Chế độ Mô tả‘r’Mở tệp để đọc. (mặc định)‘w’Mở tệp để ghi. Tạo một tệp mới nếu nó không tồn tại hoặc cắt bớt tệp nếu nó tồn tại. ‘x’Mở tệp để tạo độc quyền. Nếu tệp đã tồn tại, thao tác không thành công. 'a'Open để thêm vào cuối tệp mà không cắt bớt tệp. Tạo một tập tin mới nếu nó không tồn tại. ‘t’Mở ở chế độ văn bản. (mặc định)‘b’Mở ở chế độ nhị phân. ‘+’Mở tệp để cập nhật (đọc và viết)
>>> f = open("pytube1.py") #equivalent to 'r' or 'rt'
>>> f = open("pytube1.py", "w")# write in text mode
>>> f = open("color3.jpg", "r+b")# read and write in binary mode

Mã hóa mặc định phụ thuộc vào nền tảng. Trong windows, đó là 'cp1252' nhưng 'utf-g' trong linux

Nên chỉ định loại mã hóa

>>> f = open("pytube1.py", mode = "r", encoding = 'utf-8')

Tạo một tệp văn bản

Hãy tạo một tệp văn bản đơn giản trong python bằng bất kỳ trình soạn thảo văn bản nào hoặc lựa chọn của bạn, mặc dù tôi đang sử dụng trình bao python ☺

>>> # Create a text file named "textfile.txt" in your current working directory
>>> f = open("textfile.txt", "w")
>>> #above will create a file named textfile.txt in your default directory
>>> f.write("Hello, Python")
13
>>> f.write("\nThis is our first line")
23
>>> f.write("\nThis is our second line")
24
>>> f.write("\nWhy writing more?, Because we can :)")
37
>>> f.close()

Chúng ta có thể thấy một tệp mới được tạo, có tên là textfile. txt trong thư mục làm việc hiện tại của chúng tôi và khi mở tệp mới tạo, chúng tôi thấy một cái gì đó giống như

Đối tượng tệp Python

Đọc một tệp văn bản trong Python

Để đọc một file văn bản trong python chúng ta có thể sử dụng nhiều cách

Trong trường hợp bạn muốn trích xuất một chuỗi chứa tất cả các ký tự trong tệp. Chúng ta có thể sử dụng phương pháp sau

file.read()

Dưới đây là chương trình thực hiện cú pháp trên

>>> f = open("textfile.txt", "r")
>>> f.read()
'Hello, Python\nThis is our first line\nThis is our second line\nWhy writing more?, Because we can :)'

Trong trường hợp bạn muốn đọc một số ký tự nhất định từ một tệp, chúng ta có thể thực hiện rất dễ dàng

>>> f = open("textfile.txt", "r")
>>> print(f.read(13))
Hello, Python

Tuy nhiên, nếu bạn muốn đọc từng dòng tệp thì bạn có thể sử dụng hàm readline()

________số 8

Hoặc bạn muốn trả về từng dòng trong tệp, được phân tách hợp lý, chúng ta có thể sử dụng hàm readlines()

>>> f = open("textfile.txt", "r")
>>> print(f.readlines())
['Hello, Python\n', 'This is our first line\n', 'This is our second line\n', 'Why writing more?, Because we can :)']

Trên mỗi dòng được phân tách bằng dấu phẩy

Vòng lặp qua một đối tượng tệp

Trong trường hợp bạn muốn đọc hoặc trả về tất cả các dòng từ tệp theo cách có cấu trúc và hiệu quả nhất, chúng ta có thể sử dụng phương pháp lặp lại

>>> f = open("pytube1.py") # open file in current directory
>>> f = open(r"c:\users\rajesh\Documents\readme.txt") # Open file from the given path
0

Viết vào một tập tin

Việc ghi vào tệp rất đơn giản, bạn chỉ cần mở tệp và chuyển văn bản bạn muốn ghi vào tệp

Phương pháp này chúng ta có thể sử dụng để nối thêm dữ liệu vào một tệp hiện có. Sử dụng ký tự EOL để bắt đầu một dòng mới sau khi bạn ghi dữ liệu vào tệp

>>> f = open("pytube1.py") # open file in current directory
>>> f = open(r"c:\users\rajesh\Documents\readme.txt") # Open file from the given path
1

Đóng một tập tin

Khi bạn đã hoàn tất công việc trên tệp, bạn phải sử dụng f. lệnh close() để kết thúc mọi thứ. Với điều này, chúng tôi đã đóng tệp hoàn toàn, chấm dứt tất cả các tài nguyên đang sử dụng và giải phóng chúng để hệ thống sử dụng ở nơi khác

>>> f = open("pytube1.py") # open file in current directory
>>> f = open(r"c:\users\rajesh\Documents\readme.txt") # Open file from the given path
2

Sau khi đóng tệp, mọi nỗ lực sử dụng đối tượng tệp sẽ gặp lỗi

với tuyên bố

Câu lệnh with có thể được sử dụng với các đối tượng tệp. Sử dụng cả hai (với các đối tượng câu lệnh & tệp), chúng tôi nhận được, xử lý ngoại lệ và cú pháp rõ ràng hơn nhiều trong chương trình của chúng tôi

Một ưu điểm khác là bất kỳ tệp nào được mở sẽ tự động bị đóng sau khi chúng tôi thực hiện xong các thao tác với tệp

cú pháp

>>> f = open("pytube1.py") # open file in current directory
>>> f = open(r"c:\users\rajesh\Documents\readme.txt") # Open file from the given path
3

Ví dụ

>>> f = open("pytube1.py") # open file in current directory
>>> f = open(r"c:\users\rajesh\Documents\readme.txt") # Open file from the given path
4

đầu ra

>>> f = open("pytube1.py") # open file in current directory
>>> f = open(r"c:\users\rajesh\Documents\readme.txt") # Open file from the given path
5

Ghi vào một tệp bằng cách sử dụng câu lệnh with cũng dễ dàng (như bạn đã đoán bây giờ)

>>> f = open("pytube1.py") # open file in current directory
>>> f = open(r"c:\users\rajesh\Documents\readme.txt") # Open file from the given path
6

Tách dòng trong tệp văn bản

Chúng ta có thể tách các dòng được lấy từ tệp văn bản bằng hàm python split(). Chúng tôi có thể phân tách văn bản của mình bằng bất kỳ ký tự nào bạn chọn, đó có thể là ký tự khoảng trắng hoặc dấu hai chấm hoặc ký tự nào khác

Là một tập tin một đối tượng?

Đối tượng Tệp KHÔNG phải là tệp thực tế . Nó không chứa dữ liệu mà tệp chứa. Nó là một đối tượng chứa các phương thức ảnh hưởng đến một tệp hoặc thư mục cụ thể. Nó hoạt động như một giao diện giữa chương trình và các chức năng của hệ điều hành thực hiện thao tác tệp thực tế.

Đối tượng tệp có phải là một mô-đun trong Python không?

Khoa học dữ liệu thực tế sử dụng Python . Đơn giản, một mô-đun là một tệp bao gồm mã Python. Một mô-đun có thể định nghĩa các hàm, lớp và biến. Một mô-đun cũng có thể bao gồm mã có thể chạy được. A module is a Python object with arbitrarily named attributes that you can bind and reference. Simply, a module is a file consisting of Python code. A module can define functions, classes and variables. A module can also include runnable code.

Thuộc tính đối tượng tệp trong Python là gì?

Thuộc tính đối tượng tệp

Làm cách nào để đọc đối tượng trong Python?

Trong Python, bạn có thể kiểm tra bất kỳ đối tượng nào bằng hàm help() tích hợp sẵn. .
loại (đối tượng). .
thư mục (obj). .
id(đối tượng). .
hasattr(đối tượng, tên). .
getattr(obj, tên, mặc định). .
có thể gọi được (obj)