Hướng dẫn python remove n from file - python xóa n khỏi tệp

Cập nhật lần cuối vào ngày 19 tháng 8 năm 2022 21:50:49 (UTC/GMT +8 giờ)

Tệp Python I/O: Bài tập-17 với giải pháp

Viết một chương trình Python để xóa các ký tự mới khỏi một tệp.

Giải pháp mẫu::

Mã Python:

def remove_newlines(fname):
    flist = open(fname).readlines()
    return [s.rstrip('\n') for s in flist]

print(remove_newlines("test.txt"))

Đầu ra mẫu:

['Welcome to w3resource.com.', 'Append this text.Append this text.Append this text.', 'Append this text.', 'Ap
pend this text.', 'Append this text.', 'Append this text.'] 

Flowchart:

Hướng dẫn python remove n from file - python xóa n khỏi tệp

Trình chỉnh sửa mã Python:

Có một cách khác để giải quyết giải pháp này? Đóng góp mã của bạn (và nhận xét) thông qua Disqus.

Trước đây: Viết chương trình Python để đánh giá xem tệp có được đóng hay không. Write a Python program to assess if a file is closed or not.
Next: Write a Python program that takes a text file as input and returns the number of words of a given text file.

Mức độ khó của bài tập này là gì?

Kiểm tra kỹ năng lập trình của bạn với bài kiểm tra của W3Resource.

Python: Lời khuyên trong ngày

Cấu trúc trong khi sử dụng:

i = 5

while i > 1:
    print("Whil-ing away!")
    i -= 1
    if i == 3:
        break
else:
    print("Finished up!")


  • Bài tập: Top 16 chủ đề phổ biến nhất hàng tuần
  • Bài tập SQL, Thực hành, Giải pháp - Tham gia
  • Bài tập SQL, Thực hành, Giải pháp - Quan sát phụ
  • JavaScript Basic - Bài tập, Thực hành, Giải pháp
  • Java Array: Bài tập, Thực hành, Giải pháp
  • C Bài tập lập trình, Thực hành, Giải pháp: Tuyên bố có điều kiện
  • Cơ sở dữ liệu nhân sự - Sắp xếp bộ lọc: Bài tập, Thực hành, Giải pháp
  • C Bài tập lập trình, Thực hành, Giải pháp: Chuỗi
  • Các loại dữ liệu Python: Từ điển - Bài tập, Thực hành, Giải pháp
  • Câu đố lập trình Python - Bài tập, Thực hành, Giải pháp
  • Mảng C ++: Bài tập, Thực hành, Giải pháp
  • Báo cáo và vòng lặp có điều kiện JavaScript - Bài tập, Thực hành, Giải pháp
  • Thuật toán cơ bản C# Sharp: Bài tập, Thực hành, Giải pháp
  • Python Lambda - Bài tập, Thực hành, Giải pháp
  • Python Pandas DataFrame: Bài tập, Thực hành, Giải pháp
  • Công cụ chuyển đổi
  • JavaScript: HTML Mẫu xác thực


Dưới đây là nhiều tối ưu hóa và ứng dụng của phong cách Python thích hợp để làm cho mã của bạn gọn gàng hơn rất nhiều. Tôi đã đặt một số mã tùy chọn bằng mô -đun csv, mong muốn hơn so với phân tích thủ công. Tôi cũng đã đặt một chút tốt lành của namedtuple, nhưng tôi không sử dụng các thuộc tính mà sau đó cung cấp. Tên của các phần của tên gọi là không chính xác, bạn sẽ cần sửa chúng.

import csv
from collections import namedtuple
from time import localtime, strftime

# Method one, reading the file into lists manually (less desirable)
with open('grades.dat') as files:
    grades = [[e.strip() for e in s.split(',')] for s in files]

# Method two, using csv and namedtuple
StudentRecord = namedtuple('StudentRecord', 'id, lastname, firstname, something, homework1, homework2, homework3, homework4, homework5, homework6, homework7, exam1, exam2, exam3')
grades = map(StudentRecord._make, csv.reader(open('grades.dat')))
# Now you could have student.id, student.lastname, etc.
# Skipping the namedtuple, you could do grades = map(tuple, csv.reader(open('grades.dat')))

request = open('requests.dat', 'w')
cont = 'y'

while cont.lower() == 'y':
    answer = raw_input('Please enter the Student I.D. of whom you are looking: ')
    for student in grades:
        if answer == student[0]:
            print '%s, %s      %s      %s' % (student[1], student[2], student[0], student[3])
            time = strftime('%a, %b %d %Y %H:%M:%S', localtime())
            print time
            print 'Exams - %s, %s, %s' % student[11:14]
            print 'Homework - %s, %s, %s, %s, %s, %s, %s' % student[4:11]
            total = sum(int(x) for x in student[4:14])
            print 'Total points earned - %d' % total
            grade = total / 5.5
            if grade >= 90:
                letter = 'an A'
            elif grade >= 80:
                letter = 'a B'
            elif grade >= 70:
                letter = 'a C'
            elif grade >= 60:
                letter = 'a D'
            else:
                letter = 'an F'

            if letter = 'an A':
                print 'Grade: %s, that is equal to %s.' % (grade, letter)
            else:
                print 'Grade: %.2f, that is equal to %s.' % (grade, letter)

            request.write('%s %s, %s %s\n' % (student[0], student[1], student[2], time))


    print
    cont = raw_input('Would you like to search again? ')

print 'Goodbye.'

Rstrip có loại bỏ \ n không?

Sử dụng phương thức rstrip (): Bằng cách sử dụng phương thức này, chúng ta có thể xóa các dòng mới trong giá trị chuỗi được cung cấp.By using this method, we can remove newlines in the provided string value.

Làm cách nào để loại bỏ ký tự dòng mới trong một tệp văn bản?

Trong menu Tệp, nhấp vào Tìm kiếm và sau đó thay thế.Trong hộp thay thế, trong phần tìm phần nào, gõ ^\ r \ n (năm ký tự: Caret, Backslash 'r' và Backslash 'n').Để trống thay thế với phần trống trừ khi bạn muốn thay thế một dòng trống bằng văn bản khác.

Làm thế nào để bạn xóa một dòng phá vỡ trong một tệp văn bản trong Python?

Sử dụng Mở (Tệp, Chế độ) với Tệp làm Tên đường dẫn của Tệp và Chế độ là "R" để mở tệp để đọc.Sử dụng một vòng lặp để lặp qua từng dòng trong tệp.Tại mỗi lần lặp, gọi str.rstrip () để loại bỏ đường ngắt ở cuối dòng.

* N trong Python là gì?

Nhân vật dòng mới trong Python là \ n.Nó được sử dụng để chỉ ra sự kết thúc của một dòng văn bản.used to indicate the end of a line of text.