2013-06-10 34 views
7

Tôi có một tập lệnh đọc tệp và sau đó hoàn tất thử nghiệm dựa trên tệp đó tuy nhiên tôi đang gặp sự cố vì tệp tải lại sau một giờ và tôi không thể lấy lại tập lệnh để đọc lại các tập tin sau hoặc tại thời điểm đó trong thời gian.Đọc lại một tệp mở Python

Vì vậy: GETS FILE MỚI ĐỂ ĐỌC Đọc tập tin Thực hiện kiểm tra trong hồ sơ GET FILE MỚI ĐỂ ĐỌC (với cùng một tên - nhưng điều đó có thể thay đổi nếu nó là một phần của giải pháp) Đọc file mới thực hiện tương tự các bài kiểm tra về tệp mới

Có thể ai đề xuất cách để Python đọc lại tệp không?

+2

gì có bạn đã thử? Bạn có thể cho chúng tôi thấy một số mã không? Vấn đề chính xác là gì? – pypat

+2

Làm cách nào để chúng tôi có thể chỉ cho bạn cách sửa lỗi nếu bạn không hiển thị mã cho chúng tôi? –

+0

Di chuyển con trỏ đến đầu tệp fp.seek (0) và sau đó là fp.read() –

Trả lời

10

Hoặc seek đến đầu của tập tin

with open(...) as fin: 
    fin.read() # read first time 
    fin.seek(0) # offset of 0 
    fin.read() # read again 

hoặc mở các tập tin một lần nữa (Tôi muốn theo cách này vì bạn khác giữ tập tin mở cho một giờ làm gì giữa đèo)

with open(...) as fin: 
    fin.read() # read first time 

with open(...) as fin: 
    fin.read() # read again 

Đưa này cùng

while True: 
    with open(...) as fin: 
     for line in fin: 
      # do something 
    time.sleep(3600) 
12

Bạn có thể di chuyển con trỏ đến đầu của tập tin theo cách sau:

file.seek(0) 

Sau đó, bạn thành công có thể đọc nó.

Các vấn đề liên quan