Làm thế nào để bạn viết đến cuối dòng trong python?

Trong Python, có nhiều chiến lược khác nhau để tạo, mở, đóng, đọc, ghi, cập nhật và xóa tệp. Nó cho phép người dùng xử lý các tệp, tôi. e. , đọc và ghi, cùng với nhiều thao tác xử lý tệp khác. Trong bài viết này, chúng ta sẽ xem xét các phương pháp khác nhau để viết văn bản thành một dòng trong tệp từ bên trong tập lệnh Python

Đây là một câu hỏi phổ biến mô tả đúng nhất chủ đề thảo luận của chúng ta trong hướng dẫn này

I'm used to doing print >>f, "hi there"
However, it seems that print >> is getting deprecated. What is the recommended way to do the line above?

source: stackoverflow 

Phương pháp 1. mở[] + “với”

Cách tiếp cận. Cách dễ nhất để viết một dòng vào tệp bằng Python là sử dụng phương thức tệp tích hợp sẵn

Syntax:
f = open[path, mode]
5 cùng với câu lệnh
Syntax:
f = open[path, mode]
6

Hàm ►open[]

Hàm

Syntax:
f = open[path, mode]
0 được sử dụng để mở tệp. Nó trả về một đối tượng tập tin

Syntax:
f = open[path, mode]
ParameterDescription
Syntax:
f = open[path, mode]
1Tên/đường dẫn của tệp mà bạn muốn mở.
Syntax:
f = open[path, mode]
2
Được sử dụng để xác định chế độ mà bạn muốn mở tệp trong đó.

⦿
Syntax:
f = open[path, mode]
3 – Đọc – Dùng để mở tệp với mục đích đọc. [Nếu tệp không tồn tại – LỖI]
⦿ ________ 14 – Nối – Dùng để nối thêm văn bản bạn viết . [Nếu tệp không tồn tại – Tạo tệp]
Syntax:
f = open[path, mode]
5 – Ghi – Dùng để mở tệp để ghi . [Nếu tệp không tồn tại – Tạo tệp]
⦿
Syntax:
f = open[path, mode]
6 – Tạo – Chỉ cần tạo tệp. [Nếu tệp tồn tại – LỖI]

Thí dụ. Trong đoạn mã sau, chúng tôi sẽ mở một tệp có tên '

Syntax:
f = open[path, mode]
7' và viết hai dòng văn bản vào đó

Syntax:
f = open[path, mode]
0

đầu ra

Thảo luận

  • Chúng tôi đã sử dụng the
    Syntax:
    f = open[path, mode]
    8 để thêm một dòng mới sau mỗi dòng vì phương thức
    Syntax:
    f = open[path, mode]
    9 không tự động thêm ký tự xuống dòng [‘\n’] vào cuối dòng. Do đó, bạn phải thêm ký tự ‘\n’ một cách rõ ràng
  • Hàm
    Syntax:
    f = open[path, mode]
    00 được sử dụng để đóng quyền truy cập tệp. Tốt hơn hết là sử dụng
    Syntax:
    f = open[path, mode]
    00 để đóng tệp sau khi hoàn thành tất cả các thao tác
  • Ghi chú. Hàm
    Syntax:
    f = open[path, mode]
    5 sẽ tạo một tệp mới trong trường hợp
    Syntax:
    f = open[path, mode]
    7 không tồn tại

►với Tuyên bố

Câu lệnh 

Syntax:
f = open[path, mode]
04 đảm bảo rằng không có tác dụng phụ nào như tệp đang mở. Do đó, khi câu lệnh
Syntax:
f = open[path, mode]
04 được sử dụng, bạn không cần sử dụng
Syntax:
f = open[path, mode]
00 vì nó đảm bảo việc thu thập chính xác

Thí dụ

Syntax:
f = open[path, mode]
9

Phương pháp 2. Sử dụng chức năng In []

Chà, hầu hết chúng ta đều bắt đầu với mã in “Xin chào thế giới” bằng Python. Đó là lần đầu tiên chúng tôi bắt gặp hàm

Syntax:
f = open[path, mode]
07 trong Python. Nhưng là một người mới, chúng tôi không biết tiềm năng thực sự của hàm print[]. Đúng. Có nhiều hơn thế. Bạn có thể sử dụng câu lệnh in cùng với đối số tệp tùy chọn. Bạn có thể sử dụng bất kỳ đối tượng tệp nào làm đối số 
Syntax:
f = open[path, mode]
1 để in kết quả vào tệp

Thí dụ

Syntax:
f = open[path, mode]
2

đầu ra

Thảo luận. Thông thường, bạn nên đóng tệp sau khi hoàn thành. Do đó, đây là một bất lợi khi sử dụng hàm

Syntax:
f = open[path, mode]
07 để viết một dòng trong tệp. Nói một cách chính xác, bạn thậm chí không cần phải đóng tệp nếu bạn biết mình đang làm gì. Python tự động đóng tất cả các tệp nếu tập lệnh kết thúc

[Tôi biết các đối số tiêu chuẩn để đóng tệp nhưng tôi không nghĩ đó là những đối số quá "khó" để thực hiện việc đó—chúng chỉ "an toàn" và dễ đề xuất. Hầu hết mọi người nói rằng họ không tự đóng tệp mọi lúc. ?]

Phương pháp 3. Sử dụng writelines[]

Python có phương thức

Syntax:
f = open[path, mode]
90 được sử dụng để ghi đồng thời tất cả các dòng vào một tệp. Phương pháp này chấp nhận một danh sách các từ làm đầu vào và tiếp tục ghi nó vào tệp sau khi mở nó bằng chế độ
Syntax:
f = open[path, mode]
91 hoặc
Syntax:
f = open[path, mode]
92. Phương thức này chấp nhận bất kỳ đối tượng có thể lặp lại nào, do đó bạn cũng có thể dễ dàng chuyển một bộ hoặc một tập hợp các chuỗi

Thí dụ

Syntax:
f = open[path, mode]
7

đầu ra

Bây giờ hãy xem ví dụ về cách sử dụng phương thức writelines[] với chế độ append

Syntax:
f = open[path, mode]
8

đầu ra

Phương pháp 4. Sử dụng Hàm insert[]

Bạn cũng có thể sử dụng hàm

Syntax:
f = open[path, mode]
93 để ghi vào một tệp trong Python. Nó chấp nhận hai tham số trong đó tham số đầu tiên chỉ định vị trí mà bạn muốn chèn nội dung và tham số thứ hai chỉ định giá trị phải được chèn vào danh sách

Cách tiếp cận

  • Trước tiên, bạn phải mở tệp ở chế độ đọc [
    Syntax:
    f = open[path, mode]
    94]. Sau đó sử dụng phương thức readlines để đọc tất cả các dòng của tệp được chỉ định. Phương thức
    Syntax:
    f = open[path, mode]
    95 được sử dụng để trả về danh sách tất cả các dòng trong tệp
  • Sau đó, sử dụng phương thức
    Syntax:
    f = open[path, mode]
    93 để thêm nhiều nội dung hơn vào vị trí đã chỉ định. Bây giờ, để ghi tất cả nội dung của tệp đã cho, bạn phải sử dụng hàm
    Syntax:
    f = open[path, mode]
    97. Chức năng này sẽ chuyển đổi danh sách thành một chuỗi. Bây giờ, bạn có thể dễ dàng ghi vào tệp

Thí dụ. Hãy xem xét rằng chúng tôi có một tệp như hình dưới đây và chúng tôi muốn chèn một dòng ở đầu

Syntax:
f = open[path, mode]
4

đầu ra

Sự kết luận

Ở đây, chúng ta đã thảo luận về nhiều cách viết một dòng trong tệp bằng Python. Tôi hy vọng hướng dẫn này đã trả lời các câu hỏi của bạn. Tuy nhiên, nếu bạn muốn tìm hiểu sâu hơn về thao tác tệp/ sửa đổi tệp trong Python, thì tôi thực sự khuyên bạn nên xem bài viết này - “Sửa đổi tệp văn bản trong Python” trong đó nhiều cách sửa đổi tệp trong Python đã được thảo luận

Với điều đó, chúng tôi đi đến cuối bài viết này và tôi hy vọng bạn thích hướng dẫn này. Vui lòng tiếp tục theo dõi và đăng ký để biết thêm các bài viết và thảo luận thú vị

Shubham Sayon

Tôi là một người tạo nội dung và Blogger Python chuyên nghiệp. Tôi đã xuất bản nhiều bài báo và tạo các khóa học trong một khoảng thời gian. Hiện tại tôi đang làm việc với tư cách là một freelancer toàn thời gian và tôi có kinh nghiệm trong các lĩnh vực như Python, AWS, DevOps và Networking

Chủ Đề