Tôi có một tệp mà tôi muốn nhận từng dòng cùng một lúc, nhưng khi nó đến một dòng cụ thể, tôi cần có một vài thông tin tiếp theo
Nội dung chính Hiển thị
- Danh sách các chuỗi
- You can it repeat
- Làm thế nào để bạn đi đến dòng tiếp theo trong một vòng lặp trong Python?
- Làm thế nào để bạn viết một dòng mới trong một vòng lặp?
- Làm thế nào để bạn bỏ qua dòng tiếp theo trong Python?
- Làm thế nào để bạn chuyển sang dòng tiếp theo trong một tệp văn bản trong Python?
This is a sample code
rofile = open['foo.txt', 'r']
for line in rofile:
print line
if[line.strip[] == 'foo']:
line = line.next[]
print line
line = line.next[]
print line
line = line.next[]
print line
Khi tôi quay lại và lặp lại lần thứ hai, câu lệnh đầu tiên sẽ ở dòng thứ 5 trong tệp. Có cách nào để làm điều này không?
chỉnh sửa. Xin lỗi vì không xác định được các chi tiết.
irofile = iter[rofile]
for line in irofile:
print line
if[line == 'foo']:
line = next[irofile] #BEWARE, This could raise StopIteration!
print line
2 là một tệp đối tượng mà tôi đang lặp lại. Liệu irofile = iter[rofile]
for line in irofile:
print line
if[line == 'foo']:
line = next[irofile] #BEWARE, This could raise StopIteration!
print line
3 có phải là phương pháp thực hiện để có được dòng tiếp theo khi sử dụng tệp hay không, tôi không biết. Tôi không có nhiều kinh nghiệm với thao tác tập tin trong PythonĐã hỏi ngày 26 tháng 11 năm 2012 lúc 19. 52 26/11/2012 lúc 19. 52
Cướp Avery Ivrob Avery IV Cướp Avery IV
3,4529 huy hiệu vàng47 Huy hiệu bạc71 Huy hiệu đồng9 huy hiệu vàng47 huy hiệu bạc71 bronze badges
2
Bạn có thể sử dụng
irofile = iter[rofile]
for line in irofile:
print line
if[line == 'foo']:
line = next[irofile] #BEWARE, This could raise StopIteration!
print line
4 để chuyển đối tượng của mình thành một thứ có thể hỗ trợirofile = iter[rofile]
for line in irofile:
print line
if[line == 'foo']:
line = next[irofile] #BEWARE, This could raise StopIteration!
print line
0. irofile = iter[rofile]
for line in irofile:
print line
if[line == 'foo']:
line = next[irofile] #BEWARE, This could raise StopIteration!
print line
Như đã chỉ ra trong các bình luận, nếu đối tượng của bạn đã là người đánh lừa, thì bạn không cần phải lắng nghe về
irofile = iter[rofile]
for line in irofile:
print line
if[line == 'foo']:
line = next[irofile] #BEWARE, This could raise StopIteration!
print line
4 [ở đây là trường hợp với các đối tượngirofile = iter[rofile]
for line in irofile:
print line
if[line == 'foo']:
line = next[irofile] #BEWARE, This could raise StopIteration!
print line
2]. Tuy nhiên, tôi để nó ở đây vì nó hoạt động cho trường hợp của bất kỳ sự khác biệt nào [ví dụ:. irofile = iter[rofile]
for line in irofile:
print line
if[line == 'foo']:
line = next[irofile] #BEWARE, This could raise StopIteration!
print line
3s]Đã trả lời ngày 26 tháng 11 năm 2012 lúc 19. 53 26/11/2012 lúc 19. 53
Mgilsonmgilson mgilson
290K61 Huy hiệu vàng608 Huy hiệu bạc676 Huy hiệu Đồng61 huy hiệu vàng608 huy hiệu bạc676 huy hiệu đồng
6
Tùy thuộc vào loại đối tượng mà
irofile = iter[rofile]
for line in irofile:
print line
if[line == 'foo']:
line = next[irofile] #BEWARE, This could raise StopIteration!
print line
2 là, tôi có thể nghĩ ra một vài cách để thực hiện điều nàyDanh sách các chuỗi
Nếu bạn có thể nhận ra nó chỉ đơn giản là một danh sách các chuỗi được tạo nên các dòng của tệp
irofile = iter[rofile]
for line in irofile:
print line
if[line == 'foo']:
line = next[irofile] #BEWARE, This could raise StopIteration!
print line
0You can it repeat
Nếu tệp đã được điều chỉnh thì có thể đi được
irofile = iter[rofile]
for line in irofile:
print line
if[line == 'foo']:
line = next[irofile] #BEWARE, This could raise StopIteration!
print line
1Bạn có thể thấy trong ví dụ Quickie này, tôi đã viết rằng nó sẽ hoạt động theo cách này như một điều đáng tin cậy
irofile = iter[rofile]
for line in irofile:
print line
if[line == 'foo']:
line = next[irofile] #BEWARE, This could raise StopIteration!
print line
2Đã trả lời ngày 26 tháng 11 năm 2012 lúc 20. 04 26/11/2012 lúc 20. 04
JDOTJDOTJDOTJDOT jdotjdot
15. 5K12 Huy hiệu vàng63 Huy hiệu bạc116 Huy hiệu đồng12 Huy hiệu vàng63 Huy hiệu bạc116 Huy hiệu đồng
Don't use loop
irofile = iter[rofile]
for line in irofile:
print line
if[line == 'foo']:
line = next[irofile] #BEWARE, This could raise StopIteration!
print line
5 nếu bạn không thực sự muốn làm điều gì đó cho mọi dòng. Một tùy chọn có thể là. irofile = iter[rofile]
for line in irofile:
print line
if[line == 'foo']:
line = next[irofile] #BEWARE, This could raise StopIteration!
print line
4Đã trả lời ngày 26 tháng 11 năm 2012 lúc 20. 07 26/11/2012 lúc 20. 07
Peterbbpeterbb PeterBB
3432 Huy hiệu bạc9 Huy hiệu Đồng2 huy hiệu bạc9 huy hiệu đồng
4
Đây là một cách đơn giản để thực hiện nó cho một tệp đối tượng
irofile = iter[rofile]
for line in irofile:
print line
if[line == 'foo']:
line = next[irofile] #BEWARE, This could raise StopIteration!
print line
0Cố gắng/ngoại trừ là cần thiết trong trường hợp không có 3 dòng nữa sau khi thấy dòng 'foo'
Đã trả lời ngày 26 tháng 11 năm 2012 lúc 23. 28 26/11/2012 lúc 23. 28
Martineaumartineau martineau
Huy hiệu vàng 116K2525 huy hiệu vàng160 huy hiệu bạc285 huy hiệu đồng
Tôi đã có một vấn đề tương tự và sử dụng câu lệnh
irofile = iter[rofile]
for line in irofile:
print line
if[line == 'foo']:
line = next[irofile] #BEWARE, This could raise StopIteration!
print line
6 thay vào đó hoạt động trong trường hợp của tôiĐã trả ngày 3 tháng 11 năm 2016 lúc 10. 20 3 tháng 11, 2016 lúc 10. 20
Làm thế nào để bạn đi đến dòng tiếp theo trong một vòng lặp trong Python?
Phương thức tệp python next [] được sử dụng khi tệp được sử dụng làm trình lặp, thường là trong một vòng lặp, phương thức tiếp theo [] được gọi là vòng lặp đi lặp lại. Phương thức này trả về dòng đầu vào tiếp theo hoặc tăng thời gian ngăn chặn khi EOF được nhấn. next[] được sử dụng khi một tệp được sử dụng làm trình vòng lặp, thường là trong một vòng lặp, phương thức next[] được gọi lặp đi lặp lại. Phương thức này trả về dòng đầu vào tiếp theo hoặc tăng StopIteration khi nhấn EOF.
Làm thế nào để bạn viết một dòng mới trong một vòng lặp?
Người viết [['\ n']] [lập danh sách một phần tử] hoặc người viết. writerow['\ n'] [hàng, không phải hàng]. Save answer this answer