Как контролировать текстовый файл в [закрытом] в реальном времени

Вот простой пример

from pandas import DataFrame

# Create data set
d = {'Revenue':[100,111,222], 
     'Cost':[333,444,555]}
df = DataFrame(d)


# mask = Return True when the value in column "Revenue" is equal to 111
mask = df['Revenue'] == 111

print mask

# Result:
# 0    False
# 1     True
# 2    False
# Name: Revenue, dtype: bool


# Select * FROM df WHERE Revenue = 111
df[mask]

# Result:
#    Cost    Revenue
# 1  444     111
68
задан Community 29 December 2015 в 18:11
поделиться

16 ответов

35
ответ дан Jon Galloway 24 November 2019 в 14:07
поделиться
0
ответ дан Chasler 24 November 2019 в 14:07
поделиться

Я второй "хвост-f" в cygwin. Я предполагаю, что Хвост для Win32 выполнит то же самое.

0
ответ дан Owen 24 November 2019 в 14:07
поделиться

FileMon является свободным одиноким инструментом, который может обнаружить все виды доступа к файлу. Можно отфильтровать любого нежелательного. Это не показывает Вам данные, которые на самом деле изменились все же.

0
ответ дан Lars Truijens 24 November 2019 в 14:07
поделиться

+1 для BareTail. Я на самом деле использую BareTailPro, который обеспечивает фильтрацию в реальном времени на хвосте с основными строками поиска или строками поиска с помощью regex.

1
ответ дан Rob Thomas 24 November 2019 в 14:07
поделиться

Да я использовал и Хвост для Win32 и хвост на Cygwin. Я нашел, что оба превосходны, хотя я предпочитаю Cygwin немного, поскольку я в состоянии выследить файлы по Интернету эффективно без катастрофических отказов (Хвост для Win32 отказал на мне в некоторых случаях).

Так в основном, я использовал бы хвост на Cygwin и перенаправил бы вывод в файл на моей локальной машине. У меня тогда был бы этот файл открытым в Vim и перезагрузке (: e) это при необходимости.

1
ответ дан ryan 24 November 2019 в 14:07
поделиться

Просто бесстыдный разъем к хвосту на ответ, но у меня есть бесплатное веб-приложение, названное Ножовка используемый для просмотра log4net файлы. Я вставил автоматическое обновление опции, таким образом, можно дать себе обновления псевдореального времени, не имея необходимость обновлять браузер все время.

1
ответ дан Dillie-O 24 November 2019 в 14:07
поделиться

Я использовал FileSystemWatcher для контроля текстовых файлов для компонента, который я недавно создал. Могут быть более оптимальные варианты (я никогда не находил, что что-либо в моем ограничило исследование), но это, казалось, добивалось цели приятно:)

Дерьмо, мое плохое, Вы на самом деле после инструмента, чтобы сделать все это для Вас..

Хорошо, если Вы становитесь неудачными и хотите к самокрутке;)

3
ответ дан Rob Cooper 24 November 2019 в 14:07
поделиться

Хвост является лучшим ответом до сих пор.

, Если Вы не используете Windows, у Вас, вероятно, уже есть хвост.

при использовании Windows можно добраться, целое убило инструментов командной строки Unix отсюда: http://unxutils.sourceforge.net/ - Разархивировал их и помещает их где-нибудь в Ваш ПУТЬ.

Тогда просто делают это в командной строке от той же папки, в которой находится Ваш файл журнала:

выслеживают-n 50-f whatever.log

, Это покажет Вам последние 50 строк файла и обновит как обновления файла.

можно объединить grep с хвостом с большими результатами - что-то вроде этого:

хвост-n 50-f whatever.log | grep Ошибка

дает Вам просто строки с "Ошибкой" в нем

Удачи!

6
ответ дан 24 November 2019 в 14:07
поделиться

FileSystemWatcher работает обработка, хотя действительно необходимо быть немного осторожны относительно дублирующегося увольнения событий - 1-я ссылка от Google - но принимая во внимание, что это может привести к большим результатам.

6
ответ дан ZombieSheep 24 November 2019 в 14:07
поделиться

При использовании Windows PowerShell можно сделать следующее:

Get-Content someFile.txt -wait
14
ответ дан Lars Truijens 24 November 2019 в 14:07
поделиться

Я использую BareTail для того, чтобы сделать это в Windows. Это свободно и имеет некоторые хорошие функции, такие как вкладки для конца нескольких файлов и настраиваемого выделения.

14
ответ дан John Topley 24 November 2019 в 14:07
поделиться

Я использую "хвост-f" под cygwin.

18
ответ дан CHitchcock 24 November 2019 в 14:07
поделиться

Мне нравятся инструменты, которые выполнят больше чем одну задачу, Блокнот ++ является большой заменой блокнота и имеет плагин Монитора Документа (установки со стандартом msi), который работает отлично. Это также портативно, таким образом, у Вас может быть он на карте флэш-памяти для использования где угодно.

Для параметра командной строки PowerShell (который является действительно новой командной строкой) упомянули замечательную особенность уже.

Get-Content someFile.txt -wait

Но можно также отфильтровать в командной строке с помощью регулярного выражения

Get-Content web.log -wait | where { $_ -match "ERROR" }
65
ответ дан Mike Schall 24 November 2019 в 14:07
поделиться

Yor может использовать FileSystemWatcher в Системе. Диагностика.

Из MSDN:

общедоступный класс Наблюдатель {

public static void Main()
{
Run();

}

[PermissionSet(SecurityAction.Demand, Name="FullTrust")]
public static void Run()
{
    string[] args = System.Environment.GetCommandLineArgs();

    // If a directory is not specified, exit program.
    if(args.Length != 2)
    {
        // Display the proper way to call the program.
        Console.WriteLine("Usage: Watcher.exe (directory)");
        return;
    }

    // Create a new FileSystemWatcher and set its properties.
    FileSystemWatcher watcher = new FileSystemWatcher();
    watcher.Path = args[1];
    /* Watch for changes in LastAccess and LastWrite times, and 
       the renaming of files or directories. */
    watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite 
       | NotifyFilters.FileName | NotifyFilters.DirectoryName;
    // Only watch text files.
    watcher.Filter = "*.txt";

    // Add event handlers.
    watcher.Changed += new FileSystemEventHandler(OnChanged);
    watcher.Created += new FileSystemEventHandler(OnChanged);
    watcher.Deleted += new FileSystemEventHandler(OnChanged);
    watcher.Renamed += new RenamedEventHandler(OnRenamed);

    // Begin watching.
    watcher.EnableRaisingEvents = true;

    // Wait for the user to quit the program.
    Console.WriteLine("Press \'q\' to quit the sample.");
    while(Console.Read()!='q');
}

// Define the event handlers.
private static void OnChanged(object source, FileSystemEventArgs e)
{
    // Specify what is done when a file is changed, created, or deleted.
   Console.WriteLine("File: " +  e.FullPath + " " + e.ChangeType);
}

private static void OnRenamed(object source, RenamedEventArgs e)
{
    // Specify what is done when a file is renamed.
    Console.WriteLine("File: {0} renamed to {1}", e.OldFullPath, e.FullPath);
}

}

можно также перейти по этой ссылке Действие Папки Наблюдения в VB.NET

1
ответ дан Nelson Miranda 24 November 2019 в 14:07
поделиться

Чтобы завершить список, вот ссылка на порты GNU WIN32 многих полезных инструментов (среди них - tail). GNUWin32 CoreUtils

1
ответ дан 24 November 2019 в 14:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: