- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
Tôi đang tạo cơ sở dữ liệu SQLite bằng cách sử dụng dữ liệu từ tệp .log. Tệp nhật ký được cập nhật mỗi khi máy thực hiện một thao tác. Những gì tôi làm trong Windows là theo dõi các thay đổi của tệp này sau khi nó được sửa đổi - bên ngoài bởi máy thông qua giao tiếp nối tiếp, nhưng tôi mô phỏng hành vi này bằng cách mở tệp trong Notepad và thêm dòng mới - Đọc hàng mới và đưa dữ liệu vào cơ sở dữ liệu .
Vấn đề là khi tôi cố gắng làm điều tương tự trên máy Linux của mình vì rõ ràng chương trình python không thấy bất kỳ sửa đổi nào trong tệp ngay cả sau khi cập nhật và lưu. Tuy nhiên, nếu tôi đóng và mở lại tệp trong chương trình để đọc lại thì các sửa đổi vẫn ở đó (nhưng tôi vẫn không thể phát hiện các sửa đổi mới).
Tôi thực sự đã thử nghiệm mã tương tự trên Raspberry Pi 3 B+ chạy Raspbian và nó hoạt động như mong đợi: đã phát hiện thấy các sửa đổi,tote de suite và thêm dữ liệu vào cơ sở dữ liệu.
Định dạng của tệp .log như sau.
01 (PB) 008 Pa 6,01 thanh 11/12/2055 07:25:17
01 (PB) 008 Pa 6,01 thanh 11/12/2055 07:26:39
01 (PB) 009 Pa 6,00 thanh 11/12/2055 07:29:45
这是我使用的代码:
import re
nhập sqlite3
nhập hệ điều hành, thời gian
nếu __name__=='__main__':
fd = open('putty.log', 'r')
# Ici on crème la base de données qui gardera les resultats des test
kết nối = sqlite3.connect('banc_tests.db')
con trỏ = kết nối.cursor()
tạo_db = """
TẠO bảng kiểm tra (
tham chiếu VARCHAR(15),
num_serie VARCHAR(15),
hoạt động TINYINT,
kết quả CHAR(2),
nhỏ,
hợp nhất VARCHAR(5),
áp lực FLOAT,
pUnite VARCHAR(5),
ngày NGÀY,
thời gian THỜI GIAN
);
"""
con trỏ.execute(create_db)
# Ở đây chúng ta tìm định dạng của khung ngân hàng thử nghiệm với các biểu thức chính quy
# Hiện tại chúng tôi đang bỏ qua tất cả thông tin về áp suất thấp, kiểm tra PE, v.v.
trong khi 1:
ở đâu = fd.tell() # Garde la location actuelle du curur dans le fichier
line = fd.readline() # Bật sáng la ligne suivante
nếu không phải dòng:
thời gian.ngủ(1)
fd.seek(where) #Si il n'y a rien à lire on retourne à la location précédente.
khác:
# Đoạn ([\+\-]?\d*)\s*(\w*) nhằm mục đích bỏ qua các khoảng trắng trong các dòng kiểm tra bị lỗi
# cũng như để lấy áp suất rò rỉ cho các thử nghiệm thông thường.
# phiên bản, chỉ cần thay thế mọi * bằng +.
in (dòng)
đã tìm thấy = re.findall(r'^\s+(\d+)\s+\((\w+)\)\s+([\+\-]?\d*)\s*(\w*)\s+( \d+\.?\d+)\s+(\w+).*\s(\d+)/(\d+)/(\d+)\s+(\d+:\d+:\d+)', dòng)
#La commande find all retourne une tuple dans une liste, donc ici j'enlève la tuple et laisse
# Juste la liste avec les éléments dedans.
nếu tìm thấy:
tạm thời = danh sách (đã tìm thấy [0])
chèn_values = """
CHÈN VÀO các bài kiểm tra (tham chiếu, num_serie, hoạt động, resultat, fuite, unity, pression, pUnite, ngày, giờ)
GIÁ TRỊ ("{ref}", "{num_ser}", "{op}", "{res}", "{fuite}", "{unt}", "{pression}", "{pUnt}", "{ngày}", "{thời gian}"); """
Insert_command = Insert_values.format(ref='', num_ser='', op=temp[0], res=temp[1], fuite=temp[2], unt=temp[3], pression=temp[4] , pUnt=temp[5], date='{}-{}-{}'.format(temp[8], temp[7], temp[6]), time=temp[9])
con trỏ.execute(insert_command)
kết nối.commit()
Tôi nghĩ đó là vấn đề với hành vi chặn của hàm open(), vì vậy tôi đã thử đặt os.O_NONBLOCK biểu tượng với fcntl tuy nhiên, được sử dụng cùng nhau, nó không hoạt động.
Có ai biết nguyên nhân gây ra hành vi khác nhau này giữa Linux (Debian 10 Bluster) và Windows không? Tôi có thể làm gì để giải quyết vấn đề về phía Linux?
câu trả lời hay nhất
Tôi đã thực hiện một số nghiên cứu và tìm thấy vấn đề. Điều này là do sau khi lưu tệp trong trình chỉnh sửainode
Có điều gì đó đã thay đổi.
Bạn có thể sử dụng vim
và thiết lập đặt bản sao lưu = có
để ngăn chặn hành vi này ( http://vimdoc.sourceforge.net/htmldoc/options.html#'backupcopy' )
Để quan sát hành vi này, bạn có thể sử dụng ls -li
, nó sẽ hiển thị cho bạn tệp inode
.
pawel@pawel-XPS-15-9570:~/test$ ls -li putty.log
10263515 -rw-r--r-- 1 pawel pawel 87 wrz 5 14:10 putty.log
pawel@pawel-XPS-15-9570:~/test$ echo 'test' >> putty.log
pawel@pawel-XPS-15-9570:~/test$ ls -li putty.log
10263515 -rw-r--r-- 1 pawel pawel 92 wrz 5 14:14 putty.log
pawel@pawel-XPS-15-9570:~/test$ vim putty.log
pawel@pawel-XPS-15-9570:~/test$ ls -li putty.log
10263513 -rw-r--r-- 1 pawel pawel 97 wrz 5 14:14 putty.log
pawel@pawel-XPS-15-9570:~/test$
Cột đầu tiên làinode
. Như bạn có thể thấy sau khi chỉnh sửa vim, nó đã thay đổi, đó là lý do tại sao tập lệnh của bạn không thấy các thay đổi (vì trình chỉnh sửa đã ghi đè tệp).
Về python - Hoạt động đọc/ghi tệp đồng thời từ các quy trình khác nhau: hoạt động trên Windows nhưng không hoạt động trên Linux, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/57800994/
Tôi muốn tránh tốn chi phí khi tạo std::thread, vì vậy tôi sẽ triển khai một nhóm luồng. Tôi đang gặp khó khăn với quyết định thiết kế: các công việc trong hàng đợi công việc có thể thêm công việc vào hàng đợi công việc không? Nếu có thì làm thế nào? Vấn đề phát sinh vì tôi muốn tôi thêm
Thuộc tính màu hoạt động tốt, nhưng hai thuộc tính còn lại (cỡ chữ và bóng văn bản) thì không. Khi liên kết được truy cập, kích thước phông chữ của nó phải giảm xuống 20 px và thuộc tính bóng văn bản được áp dụng, nhưng không được
Tôi đã cài đặt và cấu hình giám sát. ps -ax hiển thị 10 quy trình, ví dụ: php/home/vagrant/Sites/mysite/artisan queue:work --tries=1
Tôi đang gặp sự cố với lệnh php artist queue::work. Lệnh của tôi không hoạt động, nhưng công việc của tôi được chèn vào bảng công việc nhưng không bao giờ được thực thi. Tôi đang sử dụng trình điều khiển mongodb để xếp hàng. Tôi đang làm gì sai, xin hãy cho tôi lời khuyên. hầu hết
Tại sao tôi có thể tìm thấy nhiều thông tin về "ăn cắp công việc" nhưng không có thông tin nào về "nhún công việc" như một chiến lược cân bằng tải động? Bằng cách "nhún vai công việc", ý tôi là chuyển công việc dư thừa từ bộ xử lý bận sang bộ xử lý lân cận ít tải hơn, thay vì yêu cầu bộ xử lý nhàn rỗi chuyển từ bộ xử lý bận sang bộ xử lý ít tải hơn.
Đầu tiên, tôi đang sử dụng hàm DATE_ADD cho MySQL. Khi cố gắng sử dụng $sqlA trong php, vì lý do nào đó, nó báo lỗi cú pháp (chủ yếu là vùng sau WHERE). Tại sao? $sqlA = "CHỌN
a:hover { color: #237ca8 !important; font-weight: đậm } a:active { color: #cccccc !imp
đóng cửa. Câu hỏi này cần tập trung hơn. Hiện tại nó không chấp nhận câu trả lời. Bạn muốn cải thiện câu hỏi này? Đã cập nhật câu hỏi để tập trung vào một vấn đề chỉnh sửa bài đăng này. Đã đóng 7 năm trước. Cải thiện q này
Tôi đang cố gắng làm cho trang web của mình có thể truy cập được đối với những người dùng chỉ có thể sử dụng phím tab. Vấn đề tôi gặp phải là khi tôi cố gắng chọn tab float, :focus trong css không kích hoạt; di chuột qua
Tôi gặp khó khăn khi đặt 2 div cạnh nhau. display: inline nó xóa đường viền của tôi và không đặt hai div trên cùng một dòng. Xin tư vấn: .gig { phác thảo: 1px s
Đây là câu đố: http://jsfiddle.net/j9Gmx/ Làm cách nào tôi có thể nhận được lớp min-height:100%; Câu trả lời hay nhất Nó hoạt động, nhưng vì cha mẹ của div (phần thân) không có chiều cao nên về cơ bản là 100%
Tôi đang sử dụng Flutter WebRTC để tạo cuộc gọi video P2P. Tôi đang gặp sự cố liên quan đến mạng: Tôi đã hoàn thành ứng dụng nhưng nó chỉ hoạt động trên dữ liệu di động. Khi đổi mạng sang WiFi thì không được và trạng thái kết nối bị treo Ch
Tôi là người mới bắt đầu sử dụng JavaScript và jQuery. Mã css và javascript của tôi nằm ngoài tệp html. Câu hỏi này đã có câu trả lời, tôi đã thử tất cả các mã nhưng thao tác cuộn không hoạt động. Tôi không biết mình đã bỏ lỡ điều gì
Tôi đang sử dụng rabbittemplate của Sprin AMQP để gửi và nhận tin nhắn qua RabbitMQ. Tôi có thể gửi và nhận tin nhắn, tuy nhiên, tôi muốn ưu tiên các tin nhắn. Ví dụ: nếu tôi đẩy 1000 tin nhắn, giả sử số lượng tin nhắn là lẻ
Tôi đã thêm PeriodicWork vào WorkManager và muốn lấy dữ liệu đầu ra của Worker mỗi khi nó hoàn thành, nhưng đoạn mã sau dường như không hoạt động vì thông báo Nhật ký không xuất hiện trong Logcat:
Tôi có một lệnh AngularJS có tên là AreaOne. Khi tôi sử dụng mẫu, mẫu được hiển thị nhưng khi tôi sử dụng templateUrl trong Area1.js, HTML mẫu không được hiển thị. tôi ở đây
Bộ chọn ":after" không hoạt động khi được áp dụng cho đầu vào có FF và IE input:after { content: "title" } trong khi nó đang xử lý p, a, v.v. đó là một sai lầm
Dưới đây là truy vấn Sql hoạt động trong oracle nhưng không hoạt động trong PostgreSQL. chọn số(*) từ người dùng có id>1 đặt hàng theo tên người dùng mà tôi biết;
location?:fixed không hoạt động trên trình duyệt chrome nhưng hoạt động tốt trong firefox. Tôi có một thanh bên ngừng cuộn và vẫn cố định ở trên cùng. Nó hoạt động hoàn hảo trong firefox, nhưng trong chrome,
Tôi có một đoạn mã không chạy được trong Firefox. Hình ảnh .icon không thay đổi khi di chuột vào nút. Nó hoạt động hoàn hảo trong Chrome. nút.add-to-cart-button .button-left .i
Tôi là một lập trình viên xuất sắc, rất giỏi!