Trong hướng dẫn này, hãy tìm hiểu về cách đọc và ghi vào tệp bằng phương thức đọc và ghi của python. – PythonForBeginners.com

Bạn đang xem: python làm việc với các tệp

Tổng quan

Khi bạn đang làm việc với Python, bạn không cần nhập thư viện để đọc và ghi vào tệp. Nó được xử lý nguyên bản bằng ngôn ngữ, mặc dù theo một cách độc đáo. Dưới đây, chúng tôi trình bày các bước đơn giản để đọc và ghi vào tệp bằng Python.

Điều đầu tiên bạn cần làm là sử dụng hàm tệp mở tích hợp sẵn trong python để lấy đối tượng tệp .

Hàm mở mở tệp. Nó đơn giản. Đây là bước đầu tiên để đọc và ghi tệp trong python.

Khi bạn sử dụng hàm open , hàm này sẽ trả về một thứ gọi là đối tượng tệp . Đối tượng tệp chứa các phương thức và thuộc tính có thể được sử dụng để thu thập thông tin về tệp bạn đã mở. Chúng cũng có thể được sử dụng để thao tác với tệp đã nói.

Ví dụ: thuộc tính mode của đối tượng tệp cho bạn biết tệp được mở ở chế độ nào . Và thuộc tính name cho bạn biết tên của tệp.

Bạn phải hiểu rằng tệp đối tượng tệp là hai thứ hoàn toàn riêng biệt – nhưng có liên quan -.

Loại tệp

Những gì bạn có thể biết là tệp hơi khác trong Python.

Ví dụ: trong Windows, một tệp có thể là bất kỳ mục nào do người dùng / hệ điều hành thao tác, chỉnh sửa hoặc tạo. Điều đó có nghĩa là các tệp có thể là hình ảnh, tài liệu văn bản, tệp thực thi, tệp excel và nhiều hơn nữa. Hầu hết các tệp được sắp xếp bằng cách giữ chúng trong các thư mục riêng lẻ.

Một tệp trong Python được phân loại là văn bản hoặc tệp nhị phân và sự khác biệt giữa hai loại tệp là rất quan trọng.

Tệp văn bản được cấu trúc như một chuỗi các dòng, trong đó mỗi dòng bao gồm một chuỗi các ký tự. Đây là những gì bạn biết như mã hoặc cú pháp.

Mỗi dòng được kết thúc bằng một ký tự đặc biệt, được gọi là ký tự EOL hoặc End of Line . Có một số loại, nhưng phổ biến nhất là dấu phẩy {,} hoặc ký tự dòng mới. Nó kết thúc dòng hiện tại và thông báo cho trình thông dịch biết một ký tự mới đã bắt đầu.

Một ký tự gạch chéo ngược cũng có thể được sử dụng và nó cho trình thông dịch biết rằng ký tự tiếp theo – sau dấu gạch chéo – phải được coi là ký tự mới hàng. Ký tự này hữu ích khi bạn không muốn bắt đầu một dòng mới trong chính văn bản mà trong mã.

Tệp nhị phân là bất kỳ loại tệp nào không phải là tệp văn bản. Do bản chất của chúng, các tệp nhị phân chỉ có thể được xử lý bởi một ứng dụng biết hoặc hiểu cấu trúc của tệp. Nói cách khác, chúng phải là ứng dụng có thể đọc và thông dịch tệp nhị phân.

Reading Files in Python

Trong Python, tệp được đọc bằng phương thức open () . Đây là một trong những phương pháp tích hợp sẵn của Python, được tạo ra để mở tệp.

Hàm open () nhận hai đối số: tên tệp và chế độ mở tệp. Tên tệp trỏ đến đường dẫn của tệp trên máy tính của bạn, trong khi chế độ mở tệp được sử dụng để cho hàm open () biết cách chúng tôi định tương tác với tệp.

Theo mặc định, chế độ mở tệp được đặt thành chỉ đọc, nghĩa là chúng tôi sẽ chỉ có quyền mở và kiểm tra nội dung của tệp.

Trên máy tính của tôi có một thư mục tên là PythonForBeginners. Trong thư mục đó có ba tệp. Một là tệp văn bản có tên emily_dickinson.txt, và hai là tệp python: read.py và write.py.

Tệp văn bản chứa bài thơ sau do nhà thơ Emily Dickinson viết. Có lẽ chúng tôi đang thực hiện một chương trình thơ và lưu trữ các bài thơ của chúng tôi dưới dạng tệp trên máy tính.

Thành công được coi là ngọt ngào nhất
bởi những ai sắp thành công.
Để hiểu được mật hoa
Cần phải có nhu cầu cao nhất.

Không phải ai trong số tất cả các Chủ nhà Tím
Người đã cầm Cờ hôm nay
Có thể nói định nghĩa
Chiến thắng rõ ràng như vậy

Khi anh ta đánh bại, chết
Trên tai cấm của ai
Dòng chiến thắng xa xôi
Bùng nổ đau đớn và rõ ràng.

Xem Thêm  Thuộc tính phông chữ CSS - danh sách gia đình phông chữ w3schools

Trước khi chúng ta có thể làm bất cứ điều gì với nội dung của tệp bài thơ, chúng tôi sẽ cần yêu cầu Python mở tệp đó. Tệp read.py, chứa tất cả mã python cần thiết để đọc bài thơ.

Có thể sử dụng bất kỳ trình soạn thảo văn bản nào để viết mã. Tôi đang sử dụng trình chỉnh sửa mã Atom, đây là trình chỉnh sửa mà tôi lựa chọn để làm việc trong python.

Ảnh chụp màn hình này cho thấy thiết lập của tôi trong Atom.

 # read.py
# đang tải tệp bằng open ()
myfile = open (“emily_dickinson.txt”)

# đọc từng dòng của tệp và in ra bảng điều khiển
cho dòng trong myfile:
print (line)  

Tôi đã sử dụng các nhận xét Python để giải thích từng bước trong mã. Hãy nhấp vào liên kết này để tìm hiểu thêm về nhận xét trong Python là gì.

Ví dụ trên minh họa cách sử dụng vòng lặp đơn giản trong Python có thể đọc nội dung của một tệp.

Khi nói đến việc đọc tệp, Python sẽ quan tâm đến quá trình nâng cấp phập phồng đằng sau hậu trường. Chạy tập lệnh bằng cách điều hướng đến tệp bằng Command Prompt – hoặc Terminal – và nhập ‘python’ theo sau là tên của tệp.

Người dùng Windows : Trước khi bạn có thể sử dụng từ khóa python trong Command Prompt của bạn, bạn sẽ cần thiết lập các biến môi trường. Điều này lẽ ra phải tự động xảy ra khi bạn cài đặt Python, nhưng trong trường hợp không xảy ra, bạn có thể cần phải làm điều đó theo cách thủ công.

  & gt; python read.py  

Chạy tệp Python trong Windows Command Prompt.

Dữ liệu được cung cấp bởi phương thức open () thường được lưu trữ trong một biến mới. Trong ví dụ này, nội dung của bài thơ được lưu trữ trong biến “myfile.”

Sau khi tệp được tạo, chúng ta có thể sử dụng vòng lặp for để đọc mọi dòng trong tệp và in nội dung của tệp đó vào dòng lệnh.

Đây là một ví dụ rất đơn giản về cách mở một tệp bằng Python, nhưng sinh viên nên biết rằng phương thức open () khá mạnh mẽ. Đối với một số dự án, đây sẽ là thứ duy nhất cần thiết để đọc và ghi tệp bằng Python.

Viết tệp bằng Python

Trước đây chúng ta có thể ghi vào một tệp bằng Python, trước tiên nó phải được mở ở một chế độ mở tệp khác. Chúng tôi có thể thực hiện việc này bằng cách cung cấp phương thức open () với một đối số đặc biệt.

Trong Python, hãy ghi vào tệp bằng cách sử dụng open ( ) phương pháp. Bạn sẽ cần chuyển cả tên tệp và một ký tự đặc biệt cho Python biết chúng ta định ghi vào tệp.

Thêm mã sau vào write.py. Chúng tôi sẽ yêu cầu Python tìm kiếm một tệp có tên “sample.txt” và ghi đè nội dung của nó bằng một thông báo mới.

  # mở tệp ở chế độ ghi
myfile = open (“sample.txt”, ’w’)

myfile.write (“Xin chào bạn từ Python!”) ​​ 

Truyền ‘w’ cho phương thức open () yêu cầu Python mở tệp ở chế độ ghi. Ở chế độ này, mọi dữ liệu đã có trong tệp sẽ bị mất khi dữ liệu mới được ghi.

Nếu tệp không tồn tại, Python sẽ tạo một tệp mới. Trong trường hợp này, một tệp mới có tên “sample.txt” sẽ được tạo khi chương trình chạy.

Chạy chương trình bằng Command Prompt:

  & gt; python write.py  

Python cũng có thể ghi nhiều dòng vào một tệp. Cách dễ nhất để thực hiện việc này là sử dụng phương thức writelines ().

  # mở tệp ở chế độ ghi
myfile = open (“sample.txt”, ’w’)

myfile.writelines (“Xin chào thế giới!”, “Chúng tôi đang học Python!”)

# đóng tệp
myfile.close ()  

Chúng tôi cũng có thể ghi nhiều dòng vào một tệp bằng các ký tự đặc biệt:

  # mở tệp ở chế độ ghi
myfile = open ("thơ.txt", 'w')

line1 = "Hoa hồng đỏ. \ n"
line2 = "Violets màu xanh lam. \ n"
line3 = "Python thật tuyệt. \ n"
line4 = "Và bạn cũng vậy. \ n"

myfile.write (line1 + line2 + line3 + line4)  

Việc sử dụng nối chuỗi giúp Python có thể lưu dữ liệu văn bản theo nhiều cách.

Tuy nhiên, nếu chúng tôi muốn tránh ghi đè dữ liệu trong một tệp và thay vào đó, nối thêm hoặc thay đổi nó, chúng tôi phải mở tệp bằng chế độ mở tệp khác.

Chế độ Mở Tệp

Theo mặc định, Python sẽ mở tệp ở chế độ chỉ đọc. Nếu chúng ta muốn làm bất cứ điều gì khác ngoài việc chỉ đọc một tệp, chúng ta sẽ cần phải cho Python biết chúng ta định làm gì với nó theo cách thủ công.

  • ‘r’ – Chế độ Đọc: Đây là chế độ mặc định chế độ cho open () . Tệp được mở và một con trỏ được đặt ở đầu nội dung của tệp.
  • ‘w’ – Chế độ ghi: Sử dụng chế độ này sẽ ghi đè mọi nội dung hiện có trong tệp. Nếu tệp đã cho không tồn tại, một tệp mới sẽ được tạo.
  • ‘r +’ – Chế độ Đọc / Ghi: Sử dụng chế độ này nếu bạn cần đồng thời đọc và ghi vào một tệp.
  • ‘a’ – Chế độ Nối: Với chế độ này, người dùng có thể nối dữ liệu mà không ghi đè lên bất kỳ dữ liệu nào đã tồn tại trong tệp.
  • ‘a +’ – Chế độ Nối và Đọc: Ở chế độ này, bạn có thể đọc và nối dữ liệu mà không ghi đè lên tệp gốc.
  • ‘x’ – Chế độ Tạo Độc quyền: Chế độ này dành cho mục đích duy nhất là tạo các tệp mới. Sử dụng chế độ này nếu bạn biết trước tệp được viết không tồn tại.
Xem Thêm  tạo nick zalo ảo - Trang cung cấp những thông tin tổng hợp của nhiều quốc gia

Lưu ý: Các ví dụ này giả định rằng người dùng đang làm việc với các loại tệp văn bản. Nếu mục đích là đọc hoặc ghi vào một loại tệp nhị phân, thì một đối số bổ sung phải được chuyển cho phương thức open () : ký tự ‘b’.

  # tệp nhị phân cần một đối số đặc biệt: ‘b’
binary_file = open (“song_data.mp3”, ’rb’)
song_data = binary_file.read ()

# đóng tệp
binary_file.close ()  

Đóng tệp bằng Python

Sau khi mở tệp bằng Python, điều quan trọng là phải đóng tệp sau khi bạn hoàn thành. Việc đóng tệp đảm bảo rằng chương trình không thể truy cập nội dung của nó nữa.

Đóng tệp bằng phương thức close () .

  # mở một tệp
myfile = open (“thơ.txt”)
# một mảng để lưu trữ nội dung của tệp
dòng = []
Đối với dòng trong myfile:
lines.append (line)

# đóng tệp
myfile.close ()

Đối với dòng trong liens:
print (line)  

Mở các loại tệp khác

phương thức open () có thể đọc và ghi nhiều loại tệp khác nhau. Chúng tôi đã biết cách mở tệp nhị phân và tệp văn bản. Python cũng có thể mở hình ảnh, cho phép bạn xem và chỉnh sửa dữ liệu pixel của chúng.

Trước khi Python có thể mở tệp hình ảnh, thư viện Pillow (Thư viện ảnh Python) phải được cài đặt. Dễ dàng nhất để cài đặt mô-đun này bằng pip.

  pip install Pillow  

Khi cài đặt Pillow , Python có thể mở tệp hình ảnh và đọc nội dung của chúng.

  Từ hình ảnh nhập PIL

# yêu cầu Pillow mở tệp hình ảnh
img = Image.open (“your_image_file.jpg”)
img.show ()
img.close ()  

Thư viện Pillow bao gồm các công cụ mạnh mẽ để chỉnh sửa hình ảnh. Điều này đã khiến nó trở thành một trong những thư viện Python phổ biến nhất.

With Statement

Bạn cũng có thể làm việc với các đối tượng tệp bằng cách sử dụng với tuyên bố . Nó được thiết kế để cung cấp cú pháp và xử lý ngoại lệ gọn gàng hơn nhiều khi bạn đang làm việc với mã. Điều đó giải thích lý do tại sao bạn nên sử dụng câu lệnh with nếu có.

Một điểm cộng của việc sử dụng phương pháp này là mọi tệp được mở sẽ tự động bị đóng sau khi bạn hoàn tất. Điều này giúp bạn bớt lo lắng trong quá trình dọn dẹp.

Để sử dụng câu lệnh with để mở tệp:

   với mở (“tên tệp”) dưới dạng tệp:   

Giờ bạn đã hiểu cách gọi câu lệnh này, hãy cùng xem một vài ví dụ.

< pre class = "wp-block-code language-python"> với tệp mở (“thơ.txt”) dưới dạng tệp:
data = file.read ()
thực hiện điều gì đó với dữ liệu

Bạn cũng có thể gọi các phương pháp khác khi sử dụng câu lệnh này. Ví dụ: bạn có thể thực hiện điều gì đó như lặp qua một đối tượng tệp:

   với open (“thơ.txt”) là f : 
 cho dòng trong f: 
 print line,   

Bạn cũng sẽ nhận thấy rằng trong ví dụ trên, chúng tôi không sử dụng “ file.close () ”Bởi vì câu lệnh with sẽ tự động gọi điều đó cho chúng ta khi thực thi. Nó thực sự làm cho mọi thứ dễ dàng hơn rất nhiều, phải không?

Tách Dòng trong Tệp Văn bản

Ví dụ cuối cùng, hãy khám phá một chức năng duy nhất cho phép bạn tách các dòng lấy từ tệp văn bản . Điều này được thiết kế để làm, là tách chuỗi chứa trong dữ liệu biến bất cứ khi nào trình thông dịch gặp ký tự khoảng trắng.

Nhưng chỉ vì chúng tôi sẽ sử dụng nó để tách các dòng sau ký tự khoảng trắng, không nghĩa là đó là cách duy nhất. Bạn thực sự có thể tách văn bản của mình bằng bất kỳ ký tự nào bạn muốn – chẳng hạn như dấu hai chấm.

Xem Thêm  Nhóm bằng cách có trong SQL Server - có nhóm theo sql

Mã để thực hiện việc này (cũng sử dụng câu lệnh with) là:

   with open (“ hello.text ”,“ r ”) as f: 
 data = f.readlines () 
 
 cho dòng trong dữ liệu: 
 words = line.split () 
 print words   

Nếu bạn muốn sử dụng dấu hai chấm thay vì dấu cách để phân chia văn bản của mình, bạn chỉ cần thay đổi line.split () thành line.split ( “:”).

Đầu ra cho điều này sẽ là:

   [“hello”, “ thế giới ”,“ như thế nào ”,“ là ”,“ bạn ”,“ hôm nay? ”] 
 [“hôm nay”, “là”, “thứ bảy”]   

Lý do các từ được trình bày theo cách này là vì chúng được lưu trữ – và trả về – dưới dạng một mảng. Hãy nhớ ghi nhớ điều này khi làm việc với hàm phân tách.

Kết luận

Đọc và ghi tệp bằng Python liên quan đến sự hiểu biết của phương thức open () . Bằng cách tận dụng tính linh hoạt của phương pháp này, bạn có thể đọc, viết và tạo tệp bằng Python.

Tệp Python có thể là tệp văn bản hoặc tệp nhị phân. Bạn cũng có thể mở và chỉnh sửa dữ liệu hình ảnh bằng mô-đun Pillow.

Sau khi dữ liệu của tệp được tải bằng Python, hầu như không có kết thúc gì đối với những gì có thể thực hiện với nó. Các lập trình viên thường làm việc với một số lượng lớn tệp, sử dụng các chương trình để tạo chúng tự động.

Như với bất kỳ bài học nào, chỉ có quá nhiều thứ có thể được trang bị trong không gian được cung cấp. Hy vọng rằng bạn đã học đủ để bắt đầu đọc và ghi tệp bằng Python.

Đọc thêm

Tài liệu Python chính thức – Đọc và Viết tệp

Bảng lừa xử lý tệp Python

Khuyến nghị đào tạo Python

Khóa học: Python 3 Cho người mới bắt đầu

Hơn 15 giờ nội dung video với hướng dẫn có hướng dẫn cho người mới bắt đầu. Tìm hiểu cách tạo các ứng dụng trong thế giới thực và nắm vững kiến ​​thức cơ bản.

Đăng ký ngay


Xem thêm những thông tin liên quan đến chủ đề python làm việc với các tệp

[PY101] 3.5 – Làm việc với File, Tìm hiểu về Encoding trong Python

alt

  • Tác giả: VNEGG
  • Ngày đăng: 2017-10-19
  • Đánh giá: 4 ⭐ ( 3655 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Cùng tìm hiểu về cách tạo file, viết file, ghi nội dung vào file; hiểu các bảng mã encoding, làm việc với encoding trong Python.

    Học lập trình trực tuyến tại http://vnegg.com

Kỹ Thuật Cơ Bản Làm Việc Với Tập Tin Và Thư Mục Trong Python

  • Tác giả: codelearn.io
  • Đánh giá: 4 ⭐ ( 6954 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Khi bạn xây dựng phần mềm ứng dụng, bạn có tin rằng đôi khi việc lấy đường dẫn tuyệt đối đến file/thư mục cũng có thể làm khó các lập trình viên?

Xử lý file trong Python

  • Tác giả: howkteam.vn
  • Đánh giá: 3 ⭐ ( 4561 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Xử lý file trong Python

Hướng dẫn các thao tác cơ bản với File trong Python

  • Tác giả: unitrain.edu.vn
  • Đánh giá: 4 ⭐ ( 5656 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Thao tác với File trong Python

  • Tác giả: viblo.asia
  • Đánh giá: 4 ⭐ ( 3041 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Python cung cấp các chức năng cơ bản và phương thức cần thiết để thao tác các file. Bài viết này tôi xin giới thiệu những thao tác cơ bản nhất với file trong Python.

File trong Python – Khám phá cách làm việc với File trong Python

  • Tác giả: t3h.com.vn
  • Đánh giá: 4 ⭐ ( 4413 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Chắc hẳn khi làm việc cùng Python hay bất kỳ ngôn ngữ lập trình nào khác, bạn cũng phải thành thạo các thao tác liên quan tới file trong Python.

Làm việc với dữ liệu trong Python [10 Phút]

  • Tác giả: niithanoi.edu.vn
  • Đánh giá: 4 ⭐ ( 7797 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Bài trước bạn đã được hướng dẫn Tự học Python Cơ bản trong 10 Phút. Và bài này chúng ta cùng đến với chủ đề Làm việc với dữ liệu trong Python. Mục tiêu vẫn là 10 Phút =)).

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

By ads_php