Hướng dẫn how do you add text to a txt in python? - làm thế nào để bạn thêm văn bản vào một txt trong python?

Trong bài viết này, chúng tôi sẽ thảo luận về cách nối văn bản hoặc dòng mới vào một tệp hiện có bằng Python.


Để nối một số văn bản vào một tệp cuối cùng, trước tiên chúng ta cần mở tệp bằng chế độ truy cập,access mode ‘a’,

file_object = open('sample.txt', 'a')

Với chế độ truy cập tệp ‘A, hàm Open () trước tiên kiểm tra xem tệp có tồn tại hay không. Nếu tệp không tồn tại, thì nó sẽ tạo một tệp trống và mở nó. Trong khi đó, nếu tệp đã tồn tại thì nó sẽ mở nó. Trong cả hai trường hợp, nó trả về một đối tượng tệp và nó có chữ trỏ ghi, chỉ vào cuối tệp đã mở. Bây giờ, nếu bạn viết bất cứ điều gì vào tệp bằng đối tượng tệp này, thì nó sẽ được nối vào cuối.‘a’, open() function first checks if file exists or not. If the file doesn’t exist, then it creates an empty file and opens it. Whereas, if the file already exists then it opens it. In both cases, it returns a file object, and it has write cursor, which points to the end of the opened file. Now, if you write anything to the file using this file object, then it will be appended to the end.

Hãy để sử dụng nó để nối văn bản ở cuối tệp,

Giả sử chúng ta có một tệp ‘sample.txt, và nội dung của nó là,

Hello this is a sample file
It contains sample text
This is the end of file

Bây giờ, hãy để văn bản nối lại văn bản ‘Xin chào ở cuối tệp này,‘hello’ at the end of this file,

# Open a file with access mode 'a'
file_object = open('sample.txt', 'a')

# Append 'hello' at the end of file
file_object.write('hello')

# Close the file
file_object.close()

Nội dung của tệp ‘mẫu.txt, bây giờ sẽ là,

Hello this is a sample file
It contains sample text
This is the end of filehello

Chúng tôi đã mở tệp ‘sample.txt, trong chế độ phụ thuộc, tức là sử dụng chế độ truy cập‘ a. Vì con trỏ đã trỏ đến phần cuối của tệp trong đối tượng tệp, do đó khi chúng tôi truyền chuỗi trong hàm write (), nó đã thêm nó ở cuối tệp. Vì vậy, văn bản của chúng tôi ’Xin chào, được thêm vào cuối tệp‘ sample.txt.‘a’. As cursor was pointing to the end of the file in the file object, therefore when we passed the string in write() function, it appended it at the end of the file. So, our text ‘hello’ gets added at the end of the file ‘sample.txt’.

Nối thêm một văn bản vào tệp trong python bằng cách sử dụng câu lệnh mở

Chúng ta có thể mở tệp trong chế độ truy cập phụ lục, tức là ‘A, sử dụng‘ với câu lệnh mở, và sau đó chúng ta có thể nối thêm văn bản ở cuối tệp. Ví dụ,‘a’, using ‘with open’ statement too, and then we can append the text at the end of the file.
For example,

# Open a file with access mode 'a'
with open("sample.txt", "a") as file_object:
    # Append 'hello' at the end of file
    file_object.write("hello")

Nội dung của tệp ‘mẫu.txt, bây giờ sẽ là,

Hello this is a sample file
It contains sample text
This is the end of filehellohello

Chúng tôi đã mở tệp ‘sample.txt, trong chế độ phụ thuộc, tức là sử dụng chế độ truy cập‘ a. Vì con trỏ đã trỏ đến phần cuối của tệp trong đối tượng tệp, do đó khi chúng tôi truyền chuỗi trong hàm write (), nó đã thêm nó ở cuối tệp. Vì vậy, văn bản của chúng tôi ’Xin chào, được thêm vào cuối tệp‘ sample.txt. ‘hello’ gets again added at the end of file ‘sample.txt’.
The main difference between this approach and the previous one was that we don’t need to close the file explicitly. It gets automatically closed when the execution block of ‘with statement’ ends.

Nối thêm một văn bản vào tệp trong python bằng cách sử dụng câu lệnh mở

Chúng ta có thể mở tệp trong chế độ truy cập phụ lục, tức là ‘A, sử dụng‘ với câu lệnh mở, và sau đó chúng ta có thể nối thêm văn bản ở cuối tệp. Ví dụ,
Let’s see how to do that,

Văn bản ‘Xin chào, được thêm vào một lần nữa ở cuối tệp‘ sample.txt. Sự khác biệt chính giữa phương pháp này và phương pháp trước đó là chúng tôi không cần phải đóng tệp một cách rõ ràng. Nó sẽ tự động đóng khi khối thực thi của ‘với câu lệnh kết thúc.

Quảng cáo

Trong cả hai ví dụ trên, văn bản được thêm vào cuối tệp. Nhưng như chúng ta có thể thấy, nó không được thêm vào như một dòng mới. Có thể có các kịch bản khi chúng tôi muốn thêm dữ liệu vào một tệp dưới dạng dòng mới. Hãy để xem cách làm điều đó,

  • Nối dữ liệu vào tệp dưới dạng dòng mới trong Python
  • Giải pháp cho điều này là một chút khó khăn ở đây. Hãy bắt đầu với cách tiếp cận cơ bản và sau đó chúng ta sẽ thảo luận về nhược điểm trong đó và xem cách cải thiện nó,
  • Cách tiếp cận cơ bản
  • Mở tệp ở chế độ phụ lục (‘A,). Viết các điểm con trỏ vào cuối tập tin.

Nối thêm ‘\ n, ở cuối tệp bằng hàm write ()

Nối dòng đã cho vào tệp bằng hàm write ().

Đóng tệp

Cách tiếp cận này hoạt động tốt nếu tệp của chúng tôi đã tồn tại và đã có một số dữ liệu trong đó. Nhưng nếu tệp không tồn tại hoặc tệp trống thì cách tiếp cận này sẽ thất bại vì nội dung của tệp sẽ như thế này,

…………………… ..

  • Dòng được thêm mới
  • Đầu tiên nó viết một dòng trống và sau đó viết dòng của chúng tôi. Nhưng trong trường hợp này, chỉ có một dòng là tốt, chúng tôi không cần phải viết ‘\ n, trước đó.
  • Vì vậy, cách tiếp cận cuối cùng của chúng tôi nên như thế này,
  • Mở tệp trong chế độ Phụ lục & Đọc (‘A+,). Cả hai điểm con trỏ đọc và viết đến cuối tệp.
  • Di chuyển đọc con trỏ đến đầu tệp.
  • Mở tệp ở chế độ phụ lục (‘A,). Viết các điểm con trỏ vào cuối tập tin.

Nối thêm ‘\ n, ở cuối tệp bằng hàm write ()

Nối dòng đã cho vào tệp bằng hàm write ().‘sample2.txt’ with following contents,

Hello this is a sample file
It contains sample text
This is the end of file

Đóng tệp

# Open the file in append & read mode ('a+')
with open("sample2.txt", "a+") as file_object:
    # Move read cursor to the start of file.
    file_object.seek(0)
    # If file is not empty then append '\n'
    data = file_object.read(100)
    if len(data) > 0 :
        file_object.write("\n")
    # Append text at the end of file
    file_object.write("hello hi")

Cách tiếp cận này hoạt động tốt nếu tệp của chúng tôi đã tồn tại và đã có một số dữ liệu trong đó. Nhưng nếu tệp không tồn tại hoặc tệp trống thì cách tiếp cận này sẽ thất bại vì nội dung của tệp sẽ như thế này,sample2.txt‘ now,

Hello this is a sample file
It contains sample text
This is the end of file
hello hi

…………………… ..

Dòng được thêm mới
Initially, both read & write cursors will be pointing to the end of the file. We moved the read cursor to the top of file to check if the file is empty or not.
If the file is not empty, then append ‘\n’ at the end of the file first and then append the line.

Đầu tiên nó viết một dòng trống và sau đó viết dòng của chúng tôi. Nhưng trong trường hợp này, chỉ có một dòng là tốt, chúng tôi không cần phải viết ‘\ n, trước đó.

def append_new_line(file_name, text_to_append):
    """Append given text as a new line at the end of file"""
    # Open the file in append & read mode ('a+')
    with open(file_name, "a+") as file_object:
        # Move read cursor to the start of file.
        file_object.seek(0)
        # If file is not empty then append '\n'
        data = file_object.read(100)
        if len(data) > 0:
            file_object.write("\n")
        # Append text at the end of file
        file_object.write(text_to_append)

Vì vậy, cách tiếp cận cuối cùng của chúng tôi nên như thế này,

Hello this is a sample file
It contains sample text
This is the end of file
0

Mở tệp trong chế độ Phụ lục & Đọc (‘A+,). Cả hai điểm con trỏ đọc và viết đến cuối tệp.

Hello this is a sample file
It contains sample text
This is the end of file
1

Di chuyển đọc con trỏ đến đầu tệp.

Đọc một số văn bản từ tệp và kiểm tra xem tệp có trống hay không.

Hello this is a sample file
It contains sample text
This is the end of file
2

Mở tệp trong chế độ Phụ lục & Đọc (‘A+,). Cả hai điểm con trỏ đọc và viết đến cuối tệp.

Hello this is a sample file
It contains sample text
This is the end of file
3

Di chuyển đọc con trỏ đến đầu tệp.

Đọc một số văn bản từ tệp và kiểm tra xem tệp có trống hay không.

Nếu tệp không trống, thì hãy nối ‘\ n, ở cuối tệp bằng hàm write ().

Hello this is a sample file
It contains sample text
This is the end of file
4

Bây giờ chúng tôi muốn nối từng phần tử trong danh sách dưới dạng một dòng trong tệp. Làm thế nào để làm điều đó?

Chúng tôi có thể làm điều đó bằng cách gọi hàm trên được tạo trên append_new_line () nhiều lần, nhưng nó không phải là một giải pháp được tối ưu hóa vì nó sẽ mở và đóng tệp cho từng phần tử trong danh sách. Chúng ta chỉ nên mở tệp một lần và nối tất cả các dòng vào nó. Để làm điều đó thuật toán của chúng tôi sẽ như thế nào,append_new_line() multiple times, but it is not an optimized solution because it will open and close the file for each element in the list.
We should open the file only once and append all the lines to it. To do that our algorithm should be like,

  • Mở tệp trong chế độ Phụ lục & Đọc (‘A+,). Cả hai điểm con trỏ đọc và viết đến cuối tệp.
  • Di chuyển đọc con trỏ đến đầu tệp.
  • Đọc một số văn bản từ tệp và kiểm tra xem tệp có trống hay không.
  • Nếu tệp không trống, thì hãy đặt appendeol là đúngappendEOL as True else False
  • Bây giờ cho mỗi yếu tố trong danh sách
    • Nếu phần tử đầu tiên của nó trong danh sách và phụ lục là sai
      • Don lồng nối thêm ‘\ n, ở cuối tệp bằng hàm write ().
    • Khác
      • Nối thêm ‘\ n, ở cuối hàm sử dụng hàm write ().
    • Nối phần tử & nbsp; đến tệp bằng hàm write ().
  • Đóng tệp

Về cơ bản, chúng tôi không cần phải viết đầu tiên ‘\ n, nếu tệp trống.

Một chức năng để nối nhiều dòng trong một tệp là,

Hello this is a sample file
It contains sample text
This is the end of file
5

Bây giờ, hãy để sử dụng chức năng này. Giả sử nội dung của tệp ‘sample3.txt, như sau,
Suppose contents of file ‘sample3.txt’ is as follows,

Hello this is a sample file
It contains sample text
This is the end of file
3

Chúng tôi có một danh sách các chuỗi,

Hello this is a sample file
It contains sample text
This is the end of file
7

Chuẩn bị tất cả các chuỗi trong danh sách này dưới dạng các dòng riêng biệt ở cuối tệp ‘sample3.txt,

Hello this is a sample file
It contains sample text
This is the end of file
8

Bây giờ nội dung của tệp ‘sample3.txt, là,

Hello this is a sample file
It contains sample text
This is the end of file
9

Nó đã thêm tất cả các chuỗi trong danh sách đã cho là Newlines trong tệp.

Ví dụ hoàn chỉnh như sau,

# Open a file with access mode 'a'
file_object = open('sample.txt', 'a')

# Append 'hello' at the end of file
file_object.write('hello')

# Close the file
file_object.close()
0

Đầu ra:

# Open a file with access mode 'a'
file_object = open('sample.txt', 'a')

# Append 'hello' at the end of file
file_object.write('hello')

# Close the file
file_object.close()
1

Làm thế nào để bạn viết vào một tệp hiện có trong Python?

Tệp Python Viết..
❮ Trước Sau ❯.
Thí dụ. Mở tệp "demofile2.txt" và nối nội dung vào tệp: f = open ("demofile2.txt", "a") f.write ("Bây giờ tệp có nhiều nội dung hơn!") F.close () .. ..
Thí dụ. Mở tệp "demofile3.txt" và ghi đè nội dung: f = open ("demofile3.txt", "w") f.write ("woops! ....
❮ Trước Sau ❯.

Thí dụ. Mở tệp "demofile2.txt" và nối nội dung vào tệp: f = open ("demofile2.txt", "a") f.write ("Bây giờ tệp có nhiều nội dung hơn!") F.close () .. ..

Cách nối văn bản vào tài liệu Microsoft Word..
Định vị con trỏ trong tài liệu của bạn nơi bạn muốn nối thêm văn bản ..
Chọn tab Chèn và từ nhóm văn bản, chọn đối tượng ..
Chọn văn bản từ tệp từ danh sách thả xuống ..
Chọn tệp và chọn Chèn ..
Văn bản từ tệp được chèn vào tài liệu của bạn ..

Python có thể ghi vào một tệp văn bản không?

Python cung cấp các chức năng sẵn có để tạo, viết và đọc các tệp.Có hai loại tệp có thể được xử lý trong Python, tệp văn bản thông thường và tệp nhị phân (được viết bằng ngôn ngữ nhị phân, 0S và 1S).. There are two types of files that can be handled in python, normal text files and binary files (written in binary language, 0s, and 1s).

Làm cách nào để tạo và nối vào một tệp văn bản trong Python?

Summary..
Python cho phép bạn đọc, viết và xóa các tệp ..
Sử dụng chức năng Mở (tên tệp FileName, W+W+) cho tệp văn bản tạo Python.....
Để nối dữ liệu vào một tệp hiện có hoặc in python vào hoạt động của tệp, hãy sử dụng lệnh mở (tên tệp FileName, tên A).
Sử dụng python đọc từ chức năng tệp để đọc toàn bộ nội dung của một tệp ..