Xóa dòng mới khỏi cuối tệp Python

Trong bài viết này, chúng tôi sẽ chỉ cho bạn cách xóa ký tự xuống dòng [\n] khỏi một tệp văn bản đã cho bằng python

Giả sử chúng tôi đã lấy một tệp văn bản có tên TextFile. txt bao gồm một số văn bản ngẫu nhiên. Chúng tôi sẽ xóa ký tự xuống dòng [\n] khỏi một tệp văn bản đã cho

Tệp văn bản. txt

Good Morning TutorialsPoint
This is TutorialsPoint sample File
Consisting of Specific
source codes in Python,Seaborn,Scala
Summary and Explanation
Welcome TutorialsPoint
Learn with a joy

Thuật toán [Các bước]

Sau đây là Thuật toán/các bước cần tuân thủ để thực hiện tác vụ mong muốn -

  • Tạo một biến để lưu đường dẫn của tệp văn bản

  • Sử dụng hàm open[][mở một tệp và kết quả là trả về một đối tượng tệp] để mở tệp văn bản ở chế độ chỉ đọc bằng cách chuyển tên tệp và chế độ làm đối số cho nó [Ở đây “r” biểu thị chỉ đọc

with open[inputFile, 'r'] as filedata:
  • Sử dụng hàm readlines[] [trả về một danh sách với mỗi dòng trong tệp được biểu thị dưới dạng một mục danh sách. Để giới hạn số dòng được trả về, hãy sử dụng đối số gợi ý. Không còn dòng nào được trả về nếu tổng số byte được trả về vượt quá số lượng đã chỉ định] để lấy danh sách các dòng của tệp văn bản đầu vào đã cho với một ký tự dòng mới [\n] ở cuối

file.readlines[hint]
  • Sử dụng hàm rstrip[] [xóa mọi ký tự ở cuối i. e, các ký tự xuất hiện ở cuối chuỗi. Ký tự cuối mặc định cần xóa là khoảng trắng] và khả năng hiểu danh sách [ở đây chúng tôi đang lặp lại trong từng dòng của danh sách bằng cách sử dụng vòng lặp for], để xóa ký tự xuống dòng [\n] khỏi danh sách các dòng ở trên của tệp văn bản và in

list comprehension:
When you wish to build a new list based on the values of an existing list, list comprehension provides a shorter/concise syntax.
  • Đóng tệp đầu vào bằng hàm close[] [dùng để đóng tệp đã mở]

Thí dụ

Chương trình sau kiểm tra từng dòng nếu từ đã cho được tìm thấy trong một dòng từ tệp văn bản và in dòng nếu tìm thấy từ đó –

# input text file inputFile = "ExampleTextFile.txt" # Opening the given file in read-only mode with open[inputFile, 'r'] as filedata: # Reading the file lines using readlines[] linesList= filedata.readlines[] # Removing the new line character[\n] from the list of lines print[[k.rstrip['\n'] for k in linesList]] # Closing the input file filedata.close[]

đầu ra

Khi thực thi, chương trình trên sẽ tạo đầu ra sau -

['Good Morning TutorialsPoint', 'This is TutorialsPoint sample File', 'Consisting of Specific', 'source codes in Python, Seaborn,Scala', 'Summary and Explanation', 'Welcome TutorialsPoint', 'Learn with a joy']

Chúng tôi đã cung cấp cho chương trình của mình một tệp văn bản chứa một số nội dung ngẫu nhiên và sau đó mở nó ở chế độ đọc. Hàm readlines[] sau đó được sử dụng để truy xuất danh sách tất cả các dòng trong tệp. Sử dụng khả năng hiểu danh sách, chúng tôi đã xem qua từng dòng của tệp và xóa ký tự xuống dòng bằng phương thức rstrip[]. Cuối cùng, chúng tôi đã đóng tệp bằng cách in các dòng được cập nhật mà không có ký tự dòng mới

Xử lý tệp như chỉnh sửa tệp, mở tệp và đọc tệp có thể dễ dàng được thực hiện bằng Python. Đọc tệp trong Python là một tác vụ rất phổ biến mà bất kỳ người dùng nào cũng thực hiện trước khi thực hiện bất kỳ thay đổi nào đối với tệp

Trong khi đọc tệp, ký tự dòng mới \n được sử dụng để biểu thị phần cuối của tệp và phần đầu của dòng tiếp theo. Hướng dẫn này sẽ trình bày cách đọc xuống dòng mà không cần xuống dòng trong Python

Sử dụng các phương pháp strip[]rstrip[] để đọc một dòng không có dòng mới trong Python

Phương thức strip[] trong Python giúp loại bỏ các khoảng trắng ở đầu [đầu] và cuối [dấu]. Bên cạnh khoảng trắng, phương thức strip[] cũng bao gồm các ký tự xuống dòng

Đây là một ví dụ bạn có thể làm theo

with open["randomfile.txt", "r"] as file:
    newline_break = ""
    for readline in file: 
        line_strip = readline.strip[]
        newline_break += line_strip
    print[newline_break]

with open["randomfile.txt", "r"] as file:
    newline_break = ""
    for readline in file:
        line_strip = line.rstrip['\n']
        newline_break += line_strip
    print[newline_break]
1 được sử dụng để mở tệp. Lưu ý rằng phương thức strip[] sẽ loại bỏ dòng mới và khoảng trắng ở đầu và cuối trong ví dụ trên. Để giữ khoảng trắng và chỉ bỏ qua dòng mới, lệnh \n được truyền dưới dạng đối số hoặc tham số cho phương thức strip[]

Chúng ta cũng có thể sử dụng phương thức rstrip[] vì phương thức strip[] bỏ qua cả khoảng trắng ở đầu và ở cuối. Mặt khác, phương pháp rstrip[] chỉ loại bỏ các dấu cách hoặc ký tự ở cuối. Phương pháp này rất hữu ích vì dòng mới xuất hiện ở cuối mỗi chuỗi. Chúng tôi cũng có thể đề cập đến ký tự xuống dòng bằng cách \n

Thực hiện theo ví dụ dưới đây

with open["randomfile.txt", "r"] as file:
    newline_break = ""
    for readline in file:
        line_strip = line.rstrip['\n']
        newline_break += line_strip
    print[newline_break]

Sử dụng các Phương pháp
with open["randomfile.txt", "r"] as file:
    newline_break = ""
    for readline in file:
        line_strip = line.rstrip['\n']
        newline_break += line_strip
    print[newline_break]
9 và
with open["randomfile.txt", "r"] as file:
    readline=file.read[].splitlines[]
    print[readline]
0 để đọc một dòng không có dòng mới trong Python

Phương thức

with open["randomfile.txt", "r"] as file:
    readline=file.read[].splitlines[]
    print[readline]
1 trong Python giúp chia một tập hợp các chuỗi thành một danh sách. Mỗi xâu trong tập xâu là một phần tử của danh sách. Do đó, phương thức
with open["randomfile.txt", "r"] as file:
    readline=file.read[].splitlines[]
    print[readline]
1 phân tách chuỗi bất cứ nơi nào có dòng mới

with open["randomfile.txt", "r"] as file:
    readline=file.read[].splitlines[]
    print[readline]

Ở đây, lưu ý rằng điểm diễn ra sự phân tách không được đề cập. Vì vậy, để đề cập đến thời điểm mà việc phân chia sẽ diễn ra theo cách thủ công, phương pháp

with open["randomfile.txt", "r"] as file:
    readline=file.read[].splitlines[]
    print[readline]
0 được sử dụng. Phương pháp này thực hiện nhiệm vụ tương tự như phương pháp
with open["randomfile.txt", "r"] as file:
    readline=file.read[].splitlines[]
    print[readline]
1, nhưng nó chính xác hơn một chút

with open["randomfile.txt", "r"] as file:
    readline=file.read[].split["\n"]
    print[readline]

Sử dụng Toán tử
with open["randomfile.txt", "r"] as file:
    readline=file.read[].splitlines[]
    print[readline]
5 hoặc
with open["randomfile.txt", "r"] as file:
    readline=file.read[].splitlines[]
    print[readline]
6 để đọc một dòng không có dòng mới trong Python

Toán tử

with open["randomfile.txt", "r"] as file:
    readline=file.read[].splitlines[]
    print[readline]
5 trong Python giúp truy cập các phần khác nhau của chuỗi hoặc chuỗi một cách riêng biệt. Toán tử
with open["randomfile.txt", "r"] as file:
    readline=file.read[].splitlines[]
    print[readline]
5 được định nghĩa là.
with open["randomfile.txt", "r"] as file:
    readline=file.read[].splitlines[]
    print[readline]
9

Đây là một ví dụ bạn có thể làm theo

with open["randomfile.txt", "r"] as file:
    newline_break = ""
    for readline in file: 
        line_strip = line[:-1]
        newline_break += line_strip
    print[newline_break]

Lưu ý rằng trong ví dụ trên, chúng tôi đã xóa ký tự cuối cùng của mỗi chuỗi bằng cách cắt âm, ví dụ:

with open["randomfile.txt", "r"] as file:
    readline=file.read[].split["\n"]
    print[readline]
0

Sử dụng Phương pháp
with open["randomfile.txt", "r"] as file:
    readline=file.read[].split["\n"]
    print[readline]
1 để đọc một dòng không có dòng mới trong Python

Như tên gợi ý,

with open["randomfile.txt", "r"] as file:
    readline=file.read[].split["\n"]
    print[readline]
1 là một hàm Python tích hợp được sử dụng để trả về một chuỗi trong đó một chuỗi con với tất cả các lần xuất hiện của nó được thay thế bằng một chuỗi con khác

Bạn có thể tách \n bằng Python không?

Hàm strip[] của Python có thể xóa \n, một ký tự xuống dòng, khỏi một chuỗi . Hàm strip[] có thể xóa cả ký tự dòng mới ở cuối và ở đầu chuỗi khỏi chuỗi gốc.

Làm cách nào để xóa ký tự dòng mới trong Python khi đọc tệp?

Bạn muốn Chuỗi. strip[s[, chars]], hàm này sẽ loại bỏ các ký tự khoảng trắng hoặc bất kỳ ký tự nào [chẳng hạn như '\n'] mà bạn chỉ định trong đối số ký tự

Là dòng mới ở cuối tập tin cần thiết?

Mỗi dòng phải được kết thúc bằng một ký tự xuống dòng, bao gồm cả ký tự cuối cùng . Một số chương trình gặp sự cố khi xử lý dòng cuối cùng của tệp nếu nó không phải là dòng mới bị chấm dứt. GCC cảnh báo về điều đó không phải vì nó không thể xử lý tệp mà vì nó phải là một phần của tiêu chuẩn.

Chủ Đề