Hướng dẫn python go to line in file - python đi đến dòng trong tệp

47

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi muốn đi đến dòng 34 trong một tệp .txt và đọc nó. Làm thế nào bạn sẽ làm điều đó trong Python?

Hướng dẫn python go to line in file - python đi đến dòng trong tệp

T. Zengerink

4.2195 Huy hiệu vàng29 Huy hiệu bạc31 Huy hiệu Đồng5 gold badges29 silver badges31 bronze badges

hỏi ngày 15 tháng 3 năm 2010 lúc 1:11Mar 15, 2010 at 1:11

Hướng dẫn python go to line in file - python đi đến dòng trong tệp

ArchhaskellerarchhaskellerArchHaskeller

1.2401 Huy hiệu vàng12 Huy hiệu bạc28 Huy hiệu đồng1 gold badge12 silver badges28 bronze badges

3

Sử dụng mô -đun linecache của thư viện tiêu chuẩn Python:

line = linecache.getline(thefilename, 33)

nên làm chính xác những gì bạn muốn. Bạn thậm chí không cần phải mở tệp - linecache làm tất cả cho bạn!

Đã trả lời ngày 15 tháng 3 năm 2010 lúc 1:21Mar 15, 2010 at 1:21

Alex Martellialex MartelliAlex Martelli

826K163 Huy hiệu vàng1204 Huy hiệu bạc1383 Huy hiệu Đồng163 gold badges1204 silver badges1383 bronze badges

6

Mã này sẽ mở tệp, đọc dòng và in nó.

# Open and read file into buffer
f = open(file,"r")
lines = f.readlines()

# If we need to read line 33, and assign it to some variable
x = lines[33]
print(x)

Hướng dẫn python go to line in file - python đi đến dòng trong tệp

Đã trả lời ngày 8 tháng 11 năm 2011 lúc 5:38Nov 8, 2011 at 5:38

Một giải pháp sẽ không đọc nhiều tệp hơn mức cần thiết

from itertools import islice
line_number = 34

with open(filename) as f:
    # Adjust index since Python/islice indexes from 0 and the first 
    # line of a file is line 1
    line = next(islice(f, line_number - 1, line_number))

Một giải pháp rất đơn giản là

line_number = 34

with open(filename) as f:
    f.readlines()[line_number - 1]

IABSTRACT

19.7K15 Huy hiệu vàng93 Huy hiệu bạc143 Huy hiệu Đồng15 gold badges93 silver badges143 bronze badges

Đã trả lời ngày 15 tháng 3 năm 2010 lúc 2:32Mar 15, 2010 at 2:32

Hướng dẫn python go to line in file - python đi đến dòng trong tệp

Mike Grahammike GrahamMike Graham

71.2K14 Huy hiệu vàng98 Huy hiệu bạc129 Huy hiệu đồng14 gold badges98 silver badges129 bronze badges

Có hai cách:

  1. Đọc tệp, từng dòng, dừng khi bạn đến dòng bạn muốn
  2. Sử dụng
    # Open and read file into buffer
    f = open(file,"r")
    lines = f.readlines()
    
    # If we need to read line 33, and assign it to some variable
    x = lines[33]
    print(x)
    
    0 sẽ đọc toàn bộ tệp vào bộ nhớ và trả lại dưới dạng danh sách các dòng, sau đó trích xuất mục thứ 34 từ danh sách đó.

Giải pháp 1

Lợi ích: Bạn chỉ giữ, trong bộ nhớ, dòng cụ thể mà bạn muốn.

code:

for i in xrange(34):
    line = f.readline();
# when you get here, line will be the 34th line, or None, if there wasn't
# enough lines in the file

Giải pháp 2

Lợi ích: Nhược điểm ít hơn về mã: Đọc toàn bộ tệp vào vấn đề bộ nhớ: sẽ bị sập nếu có ít hơn 34 phần tử trong danh sách, cần xử lý lỗi
Downside: Reads the entire file into memory
Problem: Will crash if less than 34 elements are present in the list, needs error handling

line = f.readlines()[33]

Đã trả lời ngày 15 tháng 3 năm 2010 lúc 1:20Mar 15, 2010 at 1:20

Lasse V. Karlsenlasse V. KarlsenLasse V. Karlsen

372K98 Huy hiệu vàng623 Huy hiệu bạc809 Huy hiệu Đồng98 gold badges623 silver badges809 bronze badges

Bạn chỉ có thể đọc tất cả các dòng và lập chỉ mục dòng sau của bạn.

line = open('filename').readlines()[33]

Đã trả lời ngày 15 tháng 3 năm 2010 lúc 1:15Mar 15, 2010 at 1:15

Tarntarntarn

2.1822 Huy hiệu vàng13 Huy hiệu bạc17 Huy hiệu đồng2 gold badges13 silver badges17 bronze badges

1

for linenum,line in enumerate(open("file")):
    if linenum+1==34: print line.rstrip()

Đã trả lời ngày 15 tháng 3 năm 2010 lúc 1:24Mar 15, 2010 at 1:24

ghostdog74ghostdog74ghostdog74

Phù bằng vàng 315K5555 gold badges253 silver badges341 bronze badges

1

Tôi đã thực hiện một chủ đề về điều này và không nhận được sự giúp đỡ nên tôi đã đưa vấn đề vào tay mình.

Không có bất kỳ mã phức tạp ở đây.

import linecache
#Simply just importing the linecache function to read our line of choosing

number = int(input("Enter a number from 1-10 for a random quote "))
#Asks the user for which number they would like to read(not necessary) 

lines = linecache.getline("Quotes.txt", number)
#Create a new variable in order to grab the specific line, the variable 
#integer can be replaced by any integer of your choosing.

print(lines)
#This will print the line of your choosing.

Nếu bạn đang hoàn thành việc này trong Python, hãy chắc chắn rằng bạn có cả hai tệp (.py) và (.txt) ở cùng một vị trí nếu không Python sẽ không thể truy xuất điều này, trừ khi bạn chỉ định vị trí tệp. VÍ DỤ.

# Open and read file into buffer
f = open(file,"r")
lines = f.readlines()

# If we need to read line 33, and assign it to some variable
x = lines[33]
print(x)
1

Điều này được sử dụng khi tệp nằm trong một thư mục khác so với tệp .py bạn đang sử dụng.

Hi vọng điêu nay co ich!

Hướng dẫn python go to line in file - python đi đến dòng trong tệp

Đã trả lời ngày 10 tháng 7 năm 2017 lúc 15:19Jul 10, 2017 at 15:19

AwaisawaisAwais

556 Huy hiệu Đồng6 bronze badges

Làm thế nào để bạn đi đến một dòng cụ thể trong một tệp trong Python?

Sử dụng phương thức lineCache.getLine () để đọc dòng cụ thể từ một tệp.Nhận dòng lineno từ một tập tin có tên FileName.Hàm này sẽ không trả về bất kỳ lỗi nào nếu dòng không có trong một tệp thay thế, nó sẽ trả về một chuỗi trống. getline() method to read specific line from a file. Get line lineno from a file named filename . This function will not return any error if the line is not present in a file instead, it will return an empty string.

Làm thế nào để bạn bỏ qua một dòng trong Python?

Có nhiều cách mà bạn có thể bỏ qua một dòng trong Python.Một số phương pháp là: nếu, tiếp tục, phá vỡ, vượt qua, đọc () và cắt lát.if, continue, break, pass, readlines(), and slicing.

Làm thế nào để bạn đi đến dòng 2 trong Python?

Bạn không thể chia một câu lệnh thành nhiều dòng trong Python bằng cách nhấn Enter.Thay vào đó, hãy sử dụng dấu gạch chéo ngược (\) để chỉ ra rằng một câu lệnh được tiếp tục trên dòng tiếp theo.use the backslash ( \ ) to indicate that a statement is continued on the next line.

Làm cách nào để đọc một dòng cụ thể trong tệp CSV trong Python?

Sử dụng độc giả..
Bước 1: Để đọc các hàng trong Python, trước tiên, chúng ta cần tải tệp CSV trong một đối tượng.Vì vậy, để tải tệp CSV vào một đối tượng sử dụng phương thức Open () ..
Bước 2: Tạo đối tượng đầu đọc bằng cách chuyển đối tượng tệp được tạo ở trên cho hàm đầu đọc ..
Bước 3: Sử dụng cho vòng lặp trên đối tượng đầu đọc để có được mỗi hàng ..