Hướng dẫn how do i open and read a file in python? - làm cách nào để mở và đọc một tệp trong python?


Mở tệp trên máy chủ

Giả sử chúng ta có tệp sau, nằm trong cùng thư mục với Python:

demofile.txt

Xin chào! Chào mừng bạn đến với demofile.txtthis là nhằm mục đích thử nghiệm. Chúc may mắn!
This file is for testing purposes.
Good Luck!

Để mở tệp, sử dụng chức năng

f = open("test.txt")      # equivalent to 'r' or 'rt'
f = open("test.txt",'w')  # write in text mode
f = open("img.bmp",'r+b') # read and write in binary mode
2 tích hợp.

Hàm

f = open("test.txt")      # equivalent to 'r' or 'rt'
f = open("test.txt",'w')  # write in text mode
f = open("img.bmp",'r+b') # read and write in binary mode
2 Trả về một đối tượng tệp, có phương thức
f = open("test.txt")      # equivalent to 'r' or 'rt'
f = open("test.txt",'w')  # write in text mode
f = open("img.bmp",'r+b') # read and write in binary mode
4 để đọc nội dung của tệp:

Thí dụ

f = open ("demofile.txt", "r") in (f.Read ())
print(f.read())

Chạy ví dụ »

Nếu tệp được đặt ở một vị trí khác, bạn sẽ phải chỉ định đường dẫn tệp, như thế này:

Thí dụ

f = open ("demofile.txt", "r") in (f.Read ())

Chạy ví dụ »
print(f.read())

Chạy ví dụ »


Nếu tệp được đặt ở một vị trí khác, bạn sẽ phải chỉ định đường dẫn tệp, như thế này:

Mở tệp trên một vị trí khác:

Thí dụ

f = open ("demofile.txt", "r") in (f.Read ())

Chạy ví dụ »
print(f.read(5))

Chạy ví dụ »



Nếu tệp được đặt ở một vị trí khác, bạn sẽ phải chỉ định đường dẫn tệp, như thế này:

Mở tệp trên một vị trí khác:

Thí dụ

f = open ("demofile.txt", "r") in (f.Read ())

Chạy ví dụ »
print(f.readline())

Chạy ví dụ »

Nếu tệp được đặt ở một vị trí khác, bạn sẽ phải chỉ định đường dẫn tệp, như thế này:

Thí dụ

f = open ("demofile.txt", "r") in (f.Read ())

Chạy ví dụ »
print(f.readline())
print(f.readline())

Chạy ví dụ »

Nếu tệp được đặt ở một vị trí khác, bạn sẽ phải chỉ định đường dẫn tệp, như thế này:

Thí dụ

f = open ("demofile.txt", "r") in (f.Read ())

Chạy ví dụ »
for x in f:
  print(x)

Chạy ví dụ »


Nếu tệp được đặt ở một vị trí khác, bạn sẽ phải chỉ định đường dẫn tệp, như thế này:

Mở tệp trên một vị trí khác:

Thí dụ

f = open ("demofile.txt", "r") in (f.Read ())

Chạy ví dụ »
print(f.readline())
f.close()

Chạy ví dụ »

Nếu tệp được đặt ở một vị trí khác, bạn sẽ phải chỉ định đường dẫn tệp, như thế này: You should always close your files, in some cases, due to buffering, changes made to a file may not show until you close the file.



Các tập tin được đặt tên là vị trí trên đĩa để lưu trữ thông tin liên quan. Chúng được sử dụng để lưu trữ dữ liệu vĩnh viễn trong bộ nhớ không bay hơi (ví dụ: đĩa cứng).

Vì bộ nhớ truy cập ngẫu nhiên (RAM) không biến động (mất dữ liệu khi tắt máy tính), chúng tôi sử dụng các tệp để sử dụng dữ liệu trong tương lai bằng cách lưu trữ vĩnh viễn chúng.

Khi chúng tôi muốn đọc từ hoặc ghi vào một tập tin, chúng tôi cần mở nó trước. Khi chúng tôi hoàn thành, nó cần phải được đóng để các tài nguyên được gắn với tệp được giải phóng.

Do đó, trong Python, một hoạt động tệp diễn ra theo thứ tự sau:

  1. Mở tệp tin
  2. Đọc hoặc viết (thực hiện hoạt động)
  3. Đóng tệp

Mở tệp trong Python

Python có chức năng

f = open("test.txt")      # equivalent to 'r' or 'rt'
f = open("test.txt",'w')  # write in text mode
f = open("img.bmp",'r+b') # read and write in binary mode
2 tích hợp để mở tệp. Hàm này trả về một đối tượng tệp, còn được gọi là tay cầm, vì nó được sử dụng để đọc hoặc sửa đổi tệp cho phù hợp.

>>> f = open("test.txt")    # open file in current directory
>>> f = open("C:/Python38/README.txt")  # specifying full path

Chúng tôi có thể chỉ định chế độ trong khi mở một tệp. Trong chế độ, chúng tôi chỉ định xem chúng tôi có muốn đọc

f = open("test.txt")      # equivalent to 'r' or 'rt'
f = open("test.txt",'w')  # write in text mode
f = open("img.bmp",'r+b') # read and write in binary mode
9, viết
f = open("test.txt", mode='r', encoding='utf-8')
0 hoặc nối
f = open("test.txt", mode='r', encoding='utf-8')
1 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.

Mặc định là đọc trong chế độ văn bản. Trong chế độ này, chúng tôi nhận được chuỗi khi đọc từ tệp.

Mặt khác, chế độ nhị phân trả về byte và đây là chế độ sẽ được sử dụng khi xử lý các tệp không phải văn bản như hình ảnh hoặc tệp thực thi.

Cách thứcSự mô tả
f = open("test.txt")      # equivalent to 'r' or 'rt'
f = open("test.txt",'w')  # write in text mode
f = open("img.bmp",'r+b') # read and write in binary mode
9
Mở một tập tin để đọc. (mặc định)
f = open("test.txt", mode='r', encoding='utf-8')
0
Mở một tập tin để viết. Tạo một tệp mới nếu nó không tồn tại hoặc cắt ngắn tệp nếu nó tồn tại.
f = open("test.txt", mode='r', encoding='utf-8')
4
Mở một tập tin để tạo độc quyền. Nếu tệp đã tồn tại, hoạt động không thành công.
f = open("test.txt", mode='r', encoding='utf-8')
1
Mở một tệp để nối thêm ở cuối tệp mà không cần cắt ngắn nó. Tạo một tệp mới nếu nó không tồn tại.
f = open("test.txt", mode='r', encoding='utf-8')
6
Mở trong chế độ văn bản. (mặc định)
f = open("test.txt", mode='r', encoding='utf-8')
7
Mở ở chế độ nhị phân.
f = open("test.txt", mode='r', encoding='utf-8')
8
Mở một tệp để cập nhật (đọc và viết)

f = open("test.txt")      # equivalent to 'r' or 'rt'
f = open("test.txt",'w')  # write in text mode
f = open("img.bmp",'r+b') # read and write in binary mode

Không giống như các ngôn ngữ khác, ký tự

f = open("test.txt", mode='r', encoding='utf-8')
1 không ngụ ý số 97 cho đến khi nó được mã hóa bằng cách sử dụng
f = open("test.txt", encoding = 'utf-8')
# perform file operations
f.close()
0 (hoặc các mã hóa tương đương khác).

Hơn nữa, mã hóa mặc định phụ thuộc vào nền tảng. Trong Windows, nó là

f = open("test.txt", encoding = 'utf-8')
# perform file operations
f.close()
1 nhưng
f = open("test.txt", encoding = 'utf-8')
# perform file operations
f.close()
2 trong Linux.

Vì vậy, chúng tôi cũng không được dựa vào mã hóa mặc định nếu không mã của chúng tôi sẽ hoạt động khác nhau trong các nền tảng khác nhau.

Do đó, khi làm việc với các tệp ở chế độ văn bản, rất khuyến khích chỉ định loại mã hóa.

f = open("test.txt", mode='r', encoding='utf-8')

Đóng tệp trong Python

Khi chúng tôi hoàn thành các hoạt động thực hiện trên tệp, chúng tôi cần đóng tệp đúng cách.

Đóng một tệp sẽ giải phóng các tài nguyên được gắn với tệp. Nó được thực hiện bằng phương pháp

f = open("test.txt", encoding = 'utf-8')
# perform file operations
f.close()
3 có sẵn trong Python.

Python có một người thu gom rác để làm sạch các đối tượng không được giới thiệu nhưng chúng ta không được dựa vào nó để đóng tệp.

f = open("test.txt", encoding = 'utf-8')
# perform file operations
f.close()

Phương pháp này không hoàn toàn an toàn. Nếu một ngoại lệ xảy ra khi chúng ta đang thực hiện một số hoạt động với tệp, mã thoát ra mà không đóng tệp.

Một cách an toàn hơn là sử dụng thử ... cuối cùng chặn.

try:
   f = open("test.txt", encoding = 'utf-8')
   # perform file operations
finally:
   f.close()

Bằng cách này, chúng tôi đảm bảo rằng tệp được đóng đúng ngay cả khi một ngoại lệ được nêu ra khiến luồng chương trình dừng lại.

Cách tốt nhất để đóng tệp là sử dụng câu lệnh

f = open("test.txt", encoding = 'utf-8')
# perform file operations
f.close()
4. Điều này đảm bảo rằng tệp được đóng khi khối bên trong câu lệnh
f = open("test.txt", encoding = 'utf-8')
# perform file operations
f.close()
4 được xuất hiện.

Chúng ta không cần phải gọi rõ ràng phương thức

f = open("test.txt", encoding = 'utf-8')
# perform file operations
f.close()
3. Nó được thực hiện trong nội bộ.

with open("test.txt", encoding = 'utf-8') as f:
   # perform file operations

Viết vào các tệp trong Python

Để ghi vào một tệp trong Python, chúng ta cần mở nó trong Write

f = open("test.txt", mode='r', encoding='utf-8')
0, nối thêm
f = open("test.txt", mode='r', encoding='utf-8')
1 hoặc chế độ tạo độc quyền
f = open("test.txt", mode='r', encoding='utf-8')
4.

Chúng ta cần cẩn thận với chế độ

f = open("test.txt", mode='r', encoding='utf-8')
0, vì nó sẽ ghi đè vào tệp nếu nó đã tồn tại. Do đó, tất cả các dữ liệu trước đó bị xóa.

Viết một chuỗi hoặc chuỗi byte (cho các tệp nhị phân) được thực hiện bằng phương thức

try:
   f = open("test.txt", encoding = 'utf-8')
   # perform file operations
finally:
   f.close()
1. Phương thức này trả về số lượng ký tự được ghi vào tệp.

with open("test.txt",'w',encoding = 'utf-8') as f:
   f.write("my first file\n")
   f.write("This file\n\n")
   f.write("contains three lines\n")

Chương trình này sẽ tạo một tệp mới có tên

try:
   f = open("test.txt", encoding = 'utf-8')
   # perform file operations
finally:
   f.close()
2 trong thư mục hiện tại nếu nó không tồn tại. Nếu nó tồn tại, nó được ghi đè.

Chúng ta phải bao gồm các ký tự mới để phân biệt các dòng khác nhau.


Đọc các tệp trong Python

Để đọc một tệp trong Python, chúng ta phải mở tệp trong chế độ đọc

f = open("test.txt")      # equivalent to 'r' or 'rt'
f = open("test.txt",'w')  # write in text mode
f = open("img.bmp",'r+b') # read and write in binary mode
9.

Có nhiều phương pháp khác nhau cho mục đích này. Chúng ta có thể sử dụng phương thức

try:
   f = open("test.txt", encoding = 'utf-8')
   # perform file operations
finally:
   f.close()
4 để đọc theo số lượng dữ liệu. Nếu tham số kích thước không được chỉ định, nó sẽ đọc và trả về đến cuối tệp.

Chúng tôi có thể đọc tệp

try:
   f = open("test.txt", encoding = 'utf-8')
   # perform file operations
finally:
   f.close()
5 mà chúng tôi đã viết trong phần trên theo cách sau:

>>> f = open("test.txt",'r',encoding = 'utf-8')
>>> f.read(4)    # read the first 4 data
'This'

>>> f.read(4)    # read the next 4 data
' is '

>>> f.read()     # read in the rest till end of file
'my first file\nThis file\ncontains three lines\n'

>>> f.read()  # further reading returns empty sting
''

Chúng ta có thể thấy rằng phương thức

f = open("test.txt")      # equivalent to 'r' or 'rt'
f = open("test.txt",'w')  # write in text mode
f = open("img.bmp",'r+b') # read and write in binary mode
4 trả về một dòng mới là
try:
   f = open("test.txt", encoding = 'utf-8')
   # perform file operations
finally:
   f.close()
7. Khi kết thúc của tệp, chúng tôi sẽ nhận được một chuỗi trống khi đọc thêm.

Chúng ta có thể thay đổi con trỏ tệp hiện tại (vị trí) bằng phương thức

try:
   f = open("test.txt", encoding = 'utf-8')
   # perform file operations
finally:
   f.close()
8. Tương tự, phương thức
try:
   f = open("test.txt", encoding = 'utf-8')
   # perform file operations
finally:
   f.close()
9 trả về vị trí hiện tại của chúng tôi (với số lượng byte).

>>> f.tell()    # get the current file position
56

>>> f.seek(0)   # bring file cursor to initial position
0

>>> print(f.read())  # read the entire file
This is my first file
This file
contains three lines

Chúng ta có thể đọc từng dòng tệp bằng cách sử dụng một vòng lặp. Điều này là cả hiệu quả và nhanh chóng.

>>> for line in f:
...     print(line, end = '')
...
This is my first file
This file
contains three lines

Trong chương trình này, các dòng trong tập tin bao gồm một ký tự mới

with open("test.txt", encoding = 'utf-8') as f:
   # perform file operations
0. Vì vậy, chúng tôi sử dụng tham số cuối của hàm
with open("test.txt", encoding = 'utf-8') as f:
   # perform file operations
1 để tránh hai dòng mới khi in.

Ngoài ra, chúng ta có thể sử dụng phương thức

f = open("test.txt")      # equivalent to 'r' or 'rt'
f = open("test.txt",'w')  # write in text mode
f = open("img.bmp",'r+b') # read and write in binary mode
6 để đọc các dòng riêng lẻ của tệp. Phương thức này đọc một tệp cho đến khi dòng mới, bao gồm cả ký tự dòng mới.

f = open("test.txt")      # equivalent to 'r' or 'rt'
f = open("test.txt",'w')  # write in text mode
f = open("img.bmp",'r+b') # read and write in binary mode
0

Cuối cùng, phương thức

with open("test.txt", encoding = 'utf-8') as f:
   # perform file operations
3 trả về một danh sách các dòng còn lại của toàn bộ tệp. Tất cả các phương thức đọc này trả về các giá trị trống khi kết thúc tệp (EOF).

f = open("test.txt")      # equivalent to 'r' or 'rt'
f = open("test.txt",'w')  # write in text mode
f = open("img.bmp",'r+b') # read and write in binary mode
1

Phương thức tập tin Python

Có nhiều phương pháp khác nhau có sẵn với đối tượng tệp. Một số trong số chúng đã được sử dụng trong các ví dụ trên.

Dưới đây là danh sách đầy đủ các phương thức trong chế độ văn bản với một mô tả ngắn gọn:

Phương phápSự mô tả
gần()Đóng một tập tin đã mở. Nó không có tác dụng nếu tệp đã được đóng.
tách rời ()Tách các bộ đệm nhị phân cơ bản với
with open("test.txt", encoding = 'utf-8') as f:
   # perform file operations
4 và trả về nó.
thư mục số()Trả về một số nguyên (mô tả tệp) của tệp.
tuôn ra()Xóa bộ đệm ghi của luồng tệp.
isatty ()Trả về
with open("test.txt", encoding = 'utf-8') as f:
   # perform file operations
5 nếu luồng tệp tương tác.
Đọc (n)Đọc nhiều nhất n ký tự từ tệp. Đọc cho đến khi kết thúc tệp nếu nó âm hoặc
with open("test.txt", encoding = 'utf-8') as f:
   # perform file operations
6.
có thể đọc được ()Trả về
with open("test.txt", encoding = 'utf-8') as f:
   # perform file operations
5 nếu luồng tệp có thể được đọc từ.
READLINE (n = -1)Đọc và trả về một dòng từ tệp. Đọc trong nhiều nhất n byte nếu được chỉ định.
Đo đọc (n = -1)Đọc và trả về một danh sách các dòng từ tệp. Đọc nhiều nhất là n byte/ký tự nếu được chỉ định.
tìm kiếm (bù, từ = ________ 58)Thay đổi vị trí tệp thành các byte bù, tham chiếu từ (bắt đầu, hiện tại, kết thúc).
có thể tìm kiếm ()Trả về
with open("test.txt", encoding = 'utf-8') as f:
   # perform file operations
5 Nếu luồng tệp hỗ trợ truy cập ngẫu nhiên.
kể()Trả về một số nguyên đại diện cho vị trí hiện tại của đối tượng tệp.
cắt ngắn (size = ________ 56)Thay đổi kích thước luồng tệp thành Byte kích thước. Nếu kích thước không được chỉ định, thay đổi kích thước vị trí hiện tại.
có thể ghi ()Trả về
with open("test.txt", encoding = 'utf-8') as f:
   # perform file operations
5 nếu luồng tệp có thể được ghi vào.
viết (các)Viết chuỗi S vào tệp và trả về số lượng ký tự được viết.
WriteLines (dòng)Viết một danh sách các dòng vào tệp.

Làm cách nào để mở một tệp để đọc và viết bằng Python?

Ngoài ra, nếu bạn mở hướng dẫn Python về đọc và viết các tệp, bạn sẽ thấy rằng: 'R+' sẽ mở tệp cho cả đọc và viết. Trên Windows, 'B' được thêm vào chế độ sẽ mở tệp ở chế độ nhị phân, do đó cũng có các chế độ như 'RB', 'WB' và 'R+B'.'r+' opens the file for both reading and writing. On Windows, 'b' appended to the mode opens the file in binary mode, so there are also modes like 'rb', 'wb', and 'r+b'.

Làm cách nào để mở một tập tin Python trong Python?

Có nhiều cách để tạo một tệp python chạy khác ...
Sử dụng nó như một mô -đun.Nhập tệp bạn muốn chạy và chạy các chức năng của nó.....
Bạn có thể sử dụng lệnh EXEC.EXECFILE ('File.py') ....
Bạn có thể sinh ra một quy trình mới bằng HĐH.lệnh hệ thống ..

Làm cách nào để đọc toàn bộ tệp trong Python?

Text = f.Read () (có thể thử những thứ này trong >>> phiên dịch, chạy python3 trong một thư mục có tệp văn bản trong đó chúng ta có thể đọc, chẳng hạn như thư mục "WordCount".) Đọc toàn bộ tệp thành 1 chuỗi - ít mã hơn và ít bận tâmhơn đi từng dòng.....
dòng = f.Readlines () f.Readlines () Trả về một danh sách các chuỗi, 1 cho mỗi dòng ..

Read () trong Python là gì?

Định nghĩa và sử dụng Phương thức Read () trả về số byte được chỉ định từ tệp.Mặc định là -1 có nghĩa là toàn bộ tệp.returns the specified number of bytes from the file. Default is -1 which means the whole file.