Cách đọc tệp liên tục trong Python
TL; DR Tóm tắtCố gắng tạo tập lệnh Python theo những thay đổi đột ngột trong tệp CSV được cập nhật theo thời gian thực Giả sử một số chương trình ghi đầu ra của nó vào bảng CSV và luôn thêm các hàng mới vào bảng đó. Làm cách nào để viết tập lệnh Python hoặc Bash theo dõi phần tử cuối cùng của hàng cuối cùng của tệp CSV này trong thời gian thực và phát âm thanh cảnh báo nếu nó vượt quá một số giá trị giới hạn?
Hồi đáp
Borg cố vấn khoa học Thành viên vàng 2,0523,356 Tôi nghĩ rằng bạn sẽ gặp vấn đề về thời gian khi cố gắng đảm bảo một chương trình luôn nhìn thấy chính xác dòng cuối cùng được viết bởi một chương trình khác. Bạn đã xem xét kiến trúc protobuf chưa? . Hồi đáp
jedishrfu Người cố vấn thông tin chi tiết tác giả 14,0958,059 Ngăn xếp có ví dụ về một tệp đang được đọc trong khi nó đang được ghi. Một số nền tảng hệ điều hành có thể không cho phép điều này nên có khả năng nó không di động. Hồi đáp
hibert2 cố vấn khoa học thông tin chi tiết tác giả Thành viên vàng 1,564582 Cảm ơn vì những lời khuyên. Tôi vừa thành công trong việc viết một tập lệnh bash Unix lộn xộn thực hiện những gì tôi dự định và tôi cũng sẽ cố gắng thực hiện điều này với protobuf và Python. Mã. and it assumes that the last column is the 9:th one. The command "echo -ne '\007'" produces a beep sound from the computer, and this is done when the value of the last numerical element in the CSV exceeds -5.
Hồi đáp
jedishrfu Người cố vấn thông tin chi tiết tác giả 14,0958,059 Protobuf có nghĩa là bạn đang sử dụng các tin nhắn được truyền giữa các chương trình chứ không phải các tệp đang được ghi. Protobuf là một cách tốt để gửi dữ liệu dưới dạng tin nhắn từ một chương trình dựa trên một ngôn ngữ nói Java sang một chương trình khác dựa trên nói python. Các liên kết thông báo protobuf sẽ đảm bảo dữ liệu được truyền chính xác. Hồi đáp
tom. G cố vấn khoa học Thành viên vàng 4,6473,394 Bạn muốn đọc kích thước tệp để xem nó có thay đổi không? Hồi đáp
jedishrfu Người cố vấn thông tin chi tiết tác giả 14,0958,059 Thông thường, dữ liệu tệp không được cập nhật cho đến khi chương trình viết xóa bộ đệm Hồi đáp
pbuk cố vấn khoa học người giúp việc nhà Thành viên vàng 3,9702,326 Như những người khác đã đề cập, có nhiều cách giao tiếp giữa các chương trình tốt hơn là ghi vào hệ thống tệp, nhưng nếu đó là tất cả những gì bạn có và bạn đang sử dụng Linux thì có lẽ bạn muốn sử dụng inotify Hồi đáp
vanadi 50 nhân viên danh dự cố vấn khoa học cố vấn giáo dục giải thưởng 2021 29,35814,714 jedishrfu anh ấy nói Thông thường, dữ liệu tệp không được cập nhật cho đến khi chương trình viết xóa bộ đệm
Hồi đáp
hibert2 cố vấn khoa học thông tin chi tiết tác giả Thành viên vàng 1,564582 Tôi đã sử dụng Linux đó. mã sh để theo dõi đầu ra của ứng dụng rtl_power và để tạo âm thanh cảnh báo khi nhận thấy tín hiệu radio mạnh hơn tiếng ồn xung quanh ở một số tần số cụ thể. Khi tôi đặt nó theo dải tần 80-81 MHz mà taxi địa phương quanh đây sử dụng để liên lạc vô tuyến, nó dường như nhận thấy khi có một chiếc taxi đậu ở phía trước tòa nhà. Tập lệnh bash cần được sửa đổi để chuyển đổi cường độ radio decibel thành số nguyên dương để chúng có thể dễ dàng so sánh với một số giá trị ngưỡng. Dường như không gặp vấn đề gì khi cố đọc tệp đầu ra trong đó hàng cuối cùng được viết không đầy đủ |