Hướng dẫn how do you search for a specific line in text in python? - làm cách nào để bạn tìm kiếm một dòng cụ thể trong văn bản trong python?
Tôi đang cố gắng mở một tệp .txt và tìm kiếm một chuỗi cụ thể. Show
Chuck 8566 Huy hiệu bạc17 Huy hiệu đồng6 silver badges17 bronze badges Đã hỏi ngày 14 tháng 3 năm 2016 lúc 5:05Mar 14, 2016 at 5:05
5 Nếu bạn chỉ đơn giản là cố gắng viết tất cả các dòng giữ chuỗi của bạn vào một tệp, điều này sẽ làm.
Đã trả lời ngày 14 tháng 3 năm 2016 lúc 5:27Mar 14, 2016 at 5:27
tdelaneytdelaneytdelaney 67.5K5 Huy hiệu vàng74 Huy hiệu bạc106 Huy hiệu đồng5 gold badges74 silver badges106 bronze badges 1 Đã khắc phục vấn đề của riêng tôi. Các hoạt động sau đây để tìm một dòng cụ thể và nhận các dòng theo dòng phù hợp. def match_text(raw_data_file, match_this_text): w = match_this_text lines = "" with open(raw_data_file, 'r') as inF: for line in inF: if w in line: lines += line //Will add the matched text to the lines string for i in range(0, however_many_lines_after_matched_text): lines += next(inF) //do something with 'lines', which is final multiline text Điều này sẽ trả về nhiều dòng cộng với chuỗi phù hợp mà người dùng muốn. Tôi xin lỗi nếu câu hỏi thật khó hiểu. Đã trả lời ngày 14 tháng 3 năm 2016 lúc 16:45Mar 14, 2016 at 16:45
M. Barbierim. BarbieriM. Barbieri 4722 Huy hiệu vàng13 Huy hiệu bạc26 Huy hiệu đồng2 gold badges13 silver badges26 bronze badges Bài viết này cho bạn biết cách đọc một dòng cụ thể từ một tệp theo số dòng trong Python. Chúng ta hãy giả sử tệp để đọc là lớn đáng kể (tính bằng GB) và bạn không muốn đọc toàn bộ tệp trong bộ nhớ cùng một lúc nhưng chỉ muốn nhảy và đọc dòng #5 và #120. Để đọc các dòng cụ thể từ tệp văn bản, vui lòng làm theo các bước sau:
Ví dụ: Đọc các dòng cụ thể từ tệp theo sốMã sau đây hiển thị & nbsp; Cách đọc tệp văn bản theo số dòng trong Python. Xem tệp đính kèm được sử dụng trong ví dụ và hình ảnh để hiển thị nội dung tệp để tham khảo.how to read a text file by line number in Python. See the attached file used in the example and an image to show the file’s content for reference. Trong ví dụ này, chúng tôi đang đọc dòng số 4 và 7 và lưu trữ nó trong một biến danh sách.reading line number 4 and 7 and storing it in a list variable. Tệp văn bản
Output:: ['Fifth line', 'Eighth Line'] Mô -đun linecache đọc dòng từ một tệp theo số dòngTrong phần này, chúng tôi sẽ thấy cách đọc tệp theo số dòng bằng mô -đun linecache. Python sườn linecache là một cách được tối ưu hóa hiệu suất khác để nhảy vào một dòng cụ thể trong một tệp văn bản. Giả sử nếu bạn có một tệp văn bản lớn, thì LineCache là lựa chọn chính xác.jump to a particular line in a text file. Assume if you have a large text file, then linecache is the correct choice.
Sử dụng phương thức def match_text(raw_data_file, match_this_text): w = match_this_text lines = "" with open(raw_data_file, 'r') as inF: for line in inF: if w in line: lines += line //Will add the matched text to the lines string for i in range(0, however_many_lines_after_matched_text): lines += next(inF) //do something with 'lines', which is final multiline text3 method to read specific line from a file.
Thí dụ
Output:: Fifth line Lưu ý: Linache đọc toàn bộ tệp trong bộ nhớ. Vì vậy, nếu quyền truy cập ngẫu nhiên vào số dòng quan trọng hơn hiệu suất, thì hãy sử dụng Linache.: The linache reads the whole file in memory. So, if random access to line number is more important than performance, then use linache. Nếu bạn muốn đọc nhiều hơn một số dòng từ một tệp sử dụng linecache, hãy sử dụng ví dụ dưới đây.
Sử dụng def match_text(raw_data_file, match_this_text): w = match_this_text lines = "" with open(raw_data_file, 'r') as inF: for line in inF: if w in line: lines += line //Will add the matched text to the lines string for i in range(0, however_many_lines_after_matched_text): lines += next(inF) //do something with 'lines', which is final multiline text 7 để đọc phạm vi dòng từ tệpNếu kích thước tệp của bạn nhỏ và bạn không quan tâm đến hiệu suất, thì phương thức readlines () phù hợp nhất. Đọc một tệp trong Python rất nhanh nếu kích thước tệp có trong vài MB. Phương thức def match_text(raw_data_file, match_this_text): w = match_this_text lines = "" with open(raw_data_file, 'r') as inF: for line in inF: if w in line: lines += line //Will add the matched text to the lines string for i in range(0, however_many_lines_after_matched_text): lines += next(inF) //do something with 'lines', which is final multiline text7 đọc tất cả các dòng từ một tệp và lưu trữ nó trong danh sách. Bạn có thể sử dụng một số chỉ mục làm số dòng để trích xuất một tập hợp các dòng từ nó. def match_text(raw_data_file, match_this_text): w = match_this_text lines = "" with open(raw_data_file, 'r') as inF: for line in inF: if w in line: lines += line //Will add the matched text to the lines string for i in range(0, however_many_lines_after_matched_text): lines += next(inF) //do something with 'lines', which is final multiline text7 method reads all lines from a file and stores it in a list. You can use an index number as a line number to extract a set of lines from it. Đây là cách đơn giản nhất để đọc một dòng cụ thể từ một tệp trong Python. Chúng tôi đọc toàn bộ tệp bằng cách sử dụng theo cách này và sau đó chọn các dòng cụ thể từ nó theo yêu cầu của chúng tôi. Sử dụng def match_text(raw_data_file, match_this_text): w = match_this_text lines = "" with open(raw_data_file, 'r') as inF: for line in inF: if w in line: lines += line //Will add the matched text to the lines string for i in range(0, however_many_lines_after_matched_text): lines += next(inF) //do something with 'lines', which is final multiline text9 để đọc phạm vi của các dòng.
Ví dụ: Đọc dòng từ 3 đến 5: Read line from 3 to 5
Ví dụ: Đọc dòng 8: Read line 8 0Bạn cũng có thể sử dụng phương thức 2 để đọc từng dòng tệp, dừng lại khi bạn đã đến các dòng bạn muốn. Sử dụng kỹ thuật này, chúng tôi không cần phải đọc toàn bộ tập tin.read a file line by line, stop when you’ve gotten to the lines you want. Using this technique, we don’t need to read the entire file.Ví dụ 3: 1Trình tạo để đọc các dòng từ một tệp theo số dòngMột giải pháp nhanh và nhỏ gọn có thể là một biểu thức máy phát để đọc một tệp bằng số dòng. Nếu số lượng dòng được trả về từ một tệp lớn, bạn nên sử dụng trình tạo., you should use the generator. Giải pháp này chấp nhận con trỏ tệp và số dòng sẽ được đọc trả về một đối tượng Trình tạo để lặp lại bằng một vòng lặp để có được mỗi dòng. 2Output:: 3cho vòng lặp trong with open(r"E:\demos\files\read_demo.txt", 'r') as fp: # lines to read line_numbers = [4, 7] # To store lines lines = [] for i, line in enumerate(fp): # read line 4 and 7 if i in line_numbers: lines.append(line.strip()) elif i > 7: # don't read after line 7 to save time break print(lines) 3 để đọc các dòng cụ thể trong PythonNếu kích thước tệp của bạn nhỏ và bạn không quan tâm đến hiệu suất, thì hãy sử dụng kỹ thuật lặp. and you are not concerned with performance, then use looping technique.
Lưu ý: Điều này sẽ tải toàn bộ tệp trong bộ nhớ.: This will load entire file in memory. Example:: 4Output:: 5Sự kết luận
Bài tập và câu đố PythonCác bài tập mã hóa miễn phí và các câu đố bao gồm các vấn đề cơ bản của Python, cấu trúc dữ liệu, phân tích dữ liệu, v.v.
Làm thế nào để bạn tìm kiếm một dòng cụ thể trong một tệp văn bản trong Python?Sử dụng phương thức lineCache.getLine () để đọc dòng cụ thể từ một tệp. getline() method to read specific line from a file.
Làm thế nào để bạn chọn một dòng cụ thể trong Python?Python: Chọn một dòng cụ thể từ văn bản.. Mở tệp văn bản .. Đi đến các dòng bắt đầu với "bắt đầu". Chuyển đến dòng 3 từ các dòng bắt đầu bằng "Bắt đầu" (đã chọn trước đó). Kiểm tra xem dòng đó có chứa từ "chứa" không .. Làm thế nào để bạn đọc một dòng duy nhất trong Python?Phương thức Python Readline () chỉ đọc một dòng hoàn chỉnh từ tệp được cung cấp.Nó nối thêm một dòng mới (\ nv) ở cuối dòng.Nếu bạn mở tệp ở chế độ đọc bình thường, readline () sẽ trả lại cho bạn chuỗi.Nếu bạn mở tệp ở chế độ nhị phân, Readline () sẽ trả về đối tượng nhị phân của bạn. reads only one complete line from the file given. It appends a newline (“\n”) at the end of the line. If you open the file in normal read mode, readline() will return you the string. If you open the file in binary mode, readline() will return you binary object. |