Python đặt tiếp theo

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ượng

irofile = 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ày

Danh 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
0

You 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
1

Bạ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
0

Cố 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

Chủ Đề