Dưới đây là một phương thức để có được các dòng giữa hai số dòng trong một tệp: Show
Output:
Chỉ cần gọi nó bằng một tham số để đi từ dòng N -> EOF Trong bài viết này sẽ xem cách bỏ qua một dòng trong một tệp trong Python. Có nhiều cách để làm điều đó. Trong bài viết này, chúng tôi sẽ thảo luận về hai cách tiếp cận. 1. Sử dụng phương thức readlines ()Phương thức ReadLines () đọc một tệp và trả về một danh sách. Ở đây, mỗi mục của một danh sách chứa một dòng của tệp, tức là, danh sách [0] sẽ có dòng đầu tiên, danh sách [1] dòng thứ hai, v.v.readlines() method reads a file and returns a list. Here, each item of a list contains a line of the file, i.e., list[0] will have the first line, list[1] the second line, and so on. Vì nó là một danh sách, chúng tôi có thể lặp lại nó. Khi số dòng hiện tại bằng số dòng mà chúng tôi muốn bỏ qua, chúng tôi bỏ qua dòng đó. Nếu không, chúng tôi xem xét nó. Hãy xem xét ví dụ sau trong đó chúng tôi in tất cả các dòng, ngoại trừ bản mà chúng tôi muốn bỏ qua. def skipLine(f, skip): lines = f.readlines() skip = skip - 1 #index of the list starts from 0 for line_no, line in enumerate(lines): if line_no==skip: pass else: print(line, end="") Hãy cùng thử mã trên bằng cách bỏ qua dòng đầu tiên của tệp mẫu.txt.sample.txt file. sample.txt This is a sample file. Python is a very powerful programming language. Let's see how to skip a line in Python. It is very easy. I love Python. It makes everything so fun. try: f = open("sample.txt", "r") skipLine(f, 1) finally: f.close() Đầu ra Python is a very powerful programming language. Let's see how to skip a line in Python. It is very easy. I love Python. It makes everything so fun. Bây giờ, hãy bỏ qua dòng thứ 3.rd line. try: f = open("sample.txt", "r") skipLine(f, 3) finally: f.close() Đầu ra This is a sample file. Python is a very powerful programming language. It is very easy. I love Python. It makes everything so fun. Bây giờ, hãy bỏ qua dòng thứ 3. Nếu bạn vượt qua một giá trị lớn hơn tổng số dòng hoặc nhỏ hơn 1, thì sẽ không có gì xảy ra.2. Sử dụng phương thức readlines () và cắt giảm danh sáchreadlines() method returns a list, we can perform slicing to skip a specific line. Consider the following example. def skipLineSlicing(f, skip): skip -= 1 #index of list starts from 0 if skip < 0: # if the skip is negative, then don't make any changes in the list skip= 1 lines = f.readlines() lines = lines[0:skip] + lines[skip+1:len(lines)] for line in lines: print(line, end="") Vì phương thức Readlines () trả về một danh sách, chúng ta có thể thực hiện cắt lát để bỏ qua một dòng cụ thể. Xem xét các ví dụ sau.sample.txt file. try: f = open("sample.txt", "r") skipLineSlicing(f, 5) finally: f.close() Đầu ra 0Bây giờ, hãy bỏ qua dòng thứ 3. Để đọc dòng cuối cùng của một tệp trong Python mà không lưu trữ toàn bộ tệp trong bộ nhớ:
Đây là một ví dụ: 1Cách tiếp cận ngây thơCách tiếp cận ngây thơ nhất để đọc dòng cuối cùng của một tệp trong Python là:
Đây là mã: 2Nếu bạn có một tệp lớn mà bạn không muốn lưu trữ trong bộ nhớ hoặc lặp qua cách bạn đã thấy trước đó, bạn có thể dựa vào việc tìm kiếm tệp. Để tìm dòng cuối cùng của một tệp lớn trong Python bằng cách tìm kiếm:
Đây là cách nó trông trong mã: 3Tuy nhiên, bằng cách xem mã, không có gì tầm thường để hiểu cách thức hoạt động của nó. Làm thế nào để tập tin tìm kiếm công việc trong PythonĐể đọc dòng cuối cùng của một tệp bằng cách tìm kiếm trong Python, đầu đọc tệp được di chuyển ở ký tự cuối cùng của tệp. Sau đó, người đọc nhảy về phía sau nhân vật cho đến khi nó đến đầu dòng cuối cùng. Sau đó, nó đọc dòng cuối cùng vào bộ nhớ.beginning of the last line. Then it reads the last line into memory. Dưới đây là một minh họa về cách mã tìm thấy dòng cuối cùng trong một tệp có ba dòng văn bản: Hãy cùng xem mã chi tiết hơn một chút. Trước hết, tìm kiếm có nghĩa là đặt vị trí đầu đọc tệp trong tệp. Trong Python, bạn chỉ có thể tìm kiếm các tệp nhị phân, vì vậy bạn cần đọc tệp dưới dạng tệp nhị phân. Phương thức Seek () tuân theo cú pháp này:seek() method follows this syntax: 4Where: & Nbsp; offset & nbsp; chỉ định số lượng ký tự để di chuyển. Sử dụng một giá trị âm để di chuyển về phía sau.offset specifies how many characters to move. Use a negative value to move backward. Đối số & nbsp; whence & nbsp; là một đối số tùy chọn có thể được đặtwhence argument is an optional argument that can be set
Trước hết, hãy để đơn giản hóa mã ở trên một chút bằng cách xóa xử lý lỗi và các hằng số mô -đun HĐH:os module constants: 5Bây giờ bạn đã hiểu phương thức Seek () hoạt động như thế nào, bạn có thể hiểu mã:seek() method works, you can understand the code:
Vì vậy, quá trình như sau:
Lưu ý rằng việc tìm kiếm một tệp chỉ hoạt động với các tệp nhị phân. Đây là lý do tại sao tệp được đọc ở chế độ nhị phân. Ngoài ra, lưu ý rằng khi bạn đang xử lý một tệp nhị phân, bạn cần phải nhảy hai ký tự còn lại để đọc một ký tự sang phải. Bây giờ, hãy để Lừa mang lại xử lý lỗi thử để đảm bảo tệp không dài chính xác một dòng. Bởi vì nếu có, Seek () sẽ không bao giờ gặp phải ký tự phá vỡ dòng như không có. Chúng ta cũng hãy sử dụng mô -đun HĐH Hằng số Seek_end và Seek_cur thay vì đơn giản 1 hoặc 2:seek() will never encounter a line break character as there are none. Let’s also use the os module’s constants SEEK_END and SEEK_CUR instead of plain 1 or 2: 3Bây giờ bạn đã học được cách tiếp cận tìm kiếm hoạt động khi đọc dòng cuối cùng của một tệp trong Python. Sự kết luậnHôm nay bạn đã học được 3 cách để đọc dòng cuối cùng của một tệp trong Python:
Chọn một thứ phù hợp nhất với nhu cầu của bạn. Tôi hy vọng bạn thấy nó hữu dụng.Cảm ơn vì đã đọc! Đọc thêmThủ thuật Python Cách ghi vào một tệp trong Python Với tuyên bố trong Python |