Вот простой пример
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
Я второй "хвост-f" в cygwin. Я предполагаю, что Хвост для Win32 выполнит то же самое.
FileMon является свободным одиноким инструментом, который может обнаружить все виды доступа к файлу. Можно отфильтровать любого нежелательного. Это не показывает Вам данные, которые на самом деле изменились все же.
+1 для BareTail. Я на самом деле использую BareTailPro, который обеспечивает фильтрацию в реальном времени на хвосте с основными строками поиска или строками поиска с помощью regex.
Да я использовал и Хвост для Win32 и хвост на Cygwin. Я нашел, что оба превосходны, хотя я предпочитаю Cygwin немного, поскольку я в состоянии выследить файлы по Интернету эффективно без катастрофических отказов (Хвост для Win32 отказал на мне в некоторых случаях).
Так в основном, я использовал бы хвост на Cygwin и перенаправил бы вывод в файл на моей локальной машине. У меня тогда был бы этот файл открытым в Vim и перезагрузке (: e) это при необходимости.
Просто бесстыдный разъем к хвосту на ответ, но у меня есть бесплатное веб-приложение, названное Ножовка используемый для просмотра log4net файлы. Я вставил автоматическое обновление опции, таким образом, можно дать себе обновления псевдореального времени, не имея необходимость обновлять браузер все время.
Я использовал FileSystemWatcher для контроля текстовых файлов для компонента, который я недавно создал. Могут быть более оптимальные варианты (я никогда не находил, что что-либо в моем ограничило исследование), но это, казалось, добивалось цели приятно:)
Дерьмо, мое плохое, Вы на самом деле после инструмента, чтобы сделать все это для Вас..
Хорошо, если Вы становитесь неудачными и хотите к самокрутке;)
Хвост является лучшим ответом до сих пор.
, Если Вы не используете Windows, у Вас, вероятно, уже есть хвост.
при использовании Windows можно добраться, целое убило инструментов командной строки Unix отсюда: http://unxutils.sourceforge.net/ - Разархивировал их и помещает их где-нибудь в Ваш ПУТЬ.
Тогда просто делают это в командной строке от той же папки, в которой находится Ваш файл журнала:
выслеживают-n 50-f whatever.log
, Это покажет Вам последние 50 строк файла и обновит как обновления файла.
можно объединить grep с хвостом с большими результатами - что-то вроде этого:
хвост-n 50-f whatever.log | grep Ошибка
дает Вам просто строки с "Ошибкой" в нем
Удачи!
FileSystemWatcher работает обработка, хотя действительно необходимо быть немного осторожны относительно дублирующегося увольнения событий - 1-я ссылка от Google - но принимая во внимание, что это может привести к большим результатам.
При использовании Windows PowerShell можно сделать следующее:
Get-Content someFile.txt -wait
Я использую BareTail для того, чтобы сделать это в Windows. Это свободно и имеет некоторые хорошие функции, такие как вкладки для конца нескольких файлов и настраиваемого выделения.
Мне нравятся инструменты, которые выполнят больше чем одну задачу, Блокнот ++ является большой заменой блокнота и имеет плагин Монитора Документа (установки со стандартом msi), который работает отлично. Это также портативно, таким образом, у Вас может быть он на карте флэш-памяти для использования где угодно.
Для параметра командной строки PowerShell (который является действительно новой командной строкой) упомянули замечательную особенность уже.
Get-Content someFile.txt -wait
Но можно также отфильтровать в командной строке с помощью регулярного выражения
Get-Content web.log -wait | where { $_ -match "ERROR" }
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
Чтобы завершить список, вот ссылка на порты GNU WIN32 многих полезных инструментов (среди них - tail). GNUWin32 CoreUtils