Lua script - Manipulação de arquivos.

495 views
Skip to first unread message

Jonathan [MU ONLINE - LUA]

unread,
Jun 27, 2020, 1:34:38 PM6/27/20
to Lua BR
Boa tarde a todos!
Alguém saberia me dizer se é possível criar uma função pra ser chamada no momento exato que um txt for modificado? Usando Lua Script. Se sim, poderiam exemplificar? Estou perdido!

Denis Dos Santos Silva

unread,
Jun 27, 2020, 5:02:37 PM6/27/20
to Lua BR
Nativamente do interpretador:
- até onde imagino não teria como porque não tem como 'monitorar as alterações' do sistema de arquivos e nem mesmo pegar a data de modificação do arquivo
- poderia ficar varrendo o diretório e ir 'comparando as alterações do tamanho do arquivo' (bem exótico)

Usando a biblioteca 'lua filesystem' tem suporte para recuperar a data da última modificação, porém, não teria suporte a 'monitoramento'

Pra monitorar um diretório/pasta - isso vai depender do sistema operacional que você está usando.  
pra linux :
- aqui você pode usar o utilitário inotifywait
 
pra windows : 

essa abordagem o 'monitor' iria executar o interpretador lua com o nome do arquivo e o evento (criado, modificado, deletado, ...)

Jonathan [MU ONLINE - LUA]

unread,
Jun 27, 2020, 5:14:28 PM6/27/20
to Lua BR
Olá, Denis. Obrigado pela resposta!

Já imaginava que não era possível, obrigado pela confirmação.

Uma outra dúvida, se eu ficar lendo o txt a cada segundo pra ver se houve alteração poderia ter algum problema de performace? Isso é, de alguma forma, inviável?

O sistema no qual estou trabalhando retorna um log quando uma alteração é feita. Estou fazendo um script para ler o txt nesse momento e tomar determinada atitude dependendo do log gerado, será q revisar as linhas a todo segundo para saber se surgiu um novo log daria algum tipo de problema?

Gabriel Duarte

unread,
Jun 27, 2020, 7:42:09 PM6/27/20
to lua...@googlegroups.com

--
Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para lua-br+un...@googlegroups.com.
Para ver esta discussão na web, acesse https://groups.google.com/d/msgid/lua-br/e6a265be-1939-4c03-ac24-f490f55e2148o%40googlegroups.com.
--
Gabriel Duarte
Rio de Janeiro / RJ
http://genericdev.wordpress.com/

Denis Dos Santos Silva

unread,
Jun 28, 2020, 1:09:44 PM6/28/20
to Lua BR
a melhor coisa seria usar uma 'solução completa'.

java 8+ suporta tanto linux ou windows (nativamente) a monitoração de diretório/pasta.
você pode ta monitorando a pasta e executando o script lua e informando o evento (criação,modificação,...) + argumentos (nome do arquivo).

a abordagem de ficar relendo não é das melhores.

uma coisa a considerar:
1- se for um 'arquivo txt' por evento é uma coisa
2- se for vários 'arquivos txt' por evento é outra coisa

boa sorte
Reply all
Reply to author
Forward
0 new messages