1. 程式人生 > >python 系統時間 以及時間比較

python 系統時間 以及時間比較

文字內容如下:
192.168.100.125  UNKNOWN  w0100441  [03/Jun/2015:16:16:26 +0800] 226 119096 0.014
..........................
63.54.78.89         UNKNOWN  w0500465  [03/Sep/2015:16:16:26 +0800] 275 119098 0.019
..........................
61.30.89.6           UNKNOWN  kobe          [15/Oct/2015:09:15:35 +0800] 426 1109168 3.215
..........................
192.168.100.126  UNKNOWN  dingjunhui  [15/Mar/2016:09:15:35 +0800] 426 1109168 3.215
..........................
220.86.123.140    UNKNOWN  idenbo       [03/May/2016:09:41:27 +0800] 226 7068129 12.102

上面的檔案是一個OS的登入日誌,第一列是登入到伺服器的客戶端的IP地址,第三列是帳號,以w開頭的是公司內網帳號,
其餘的均為外網帳號。192.168.100的為內網IP,其餘的均為外網IP,我現在想要找出三個月內,
以內網帳號和外網IP登入伺服器的行(例如 63.54.78.89     UNKNOWN  w0500465),
和以外網帳號和內網IP登入伺服器的行(例如: 192.168.100.126  UNKNOWN  dingjunhui),
用Python如何來實現?如果這裡查詢的時間是個變數,即找出四個月內,五個月內的資訊(依次類推),用Python語言如何來寫?
#!/usr/bin/env python
# -*- coding: utf-8 -*- 

import sys
import getopt
from datetime import datetime
import time
from dateutil.relativedelta import relativedelta
import re

__author__ = 'shengwei ma'
__author_email__ = '[email protected]'

input_file = ""
output_file = ""
a = ""

try:
    opts,
args = getopt.getopt(sys.argv[1:], "hm:", ["input=", "output="]) except getopt.GetoptError as err: print(str(err)) for op, value in opts: if op == "--input": input_file = value elif op == "-m": a = int(value) elif op == "--output": output_file = open(value, 'w'
) elif op == "-h": print("python filter_by_month.py --input your_input_file -m 3 --output your_out_file") sys.exit() months = datetime.now() + relativedelta(months=-a) month = months.strftime("%d/%b/%Y %H:%M:%S") print 'You will find after this time %s line!' % month with open(input_file, 'r') as f: for num, line in enumerate(f): if num % 2 == 0: new_line = line.strip().split() date = new_line[3].lstrip('[').split(':') new_date = date[0] + ' ' + date[1] + ':' + date[2] + ':' + date[3] timeArray_b = time.strptime(new_date, "%d/%b/%Y %H:%M:%S") timeArray_a = time.strptime(month, "%d/%b/%Y %H:%M:%S") if timeArray_b > timeArray_a: if new_line[0].startswith('192') and re.findall(r'[^w]', new_line[2]): output_file.write(line) elif new_line[2].startswith('w') and re.findall(r'[^192]', new_line[0]): output_file.write(line)

相關推薦

python 系統時間 以及時間比較

文字內容如下: 192.168.100.125 UNKNOWN w0100441 [03/Jun/2015:16:16:26 +0800] 226 119096 0.014 ..........

python 有關日期 以及時間戳轉換

nds Coding 代碼 timedelta 格式化輸出 時間 spa date del 直接上代碼 其中有註釋 #coding=utf-8 import time import datetime def yes_time(): #獲取當前時間 n

獲取系統時間以及時間戳的理解與使用

所謂等待,不過只是個念想,藏在心裡見不得陽光,像個吸血鬼一樣,醒來咬你一口,讓你死去活來的疼。 近日在做開發的時候,用到DatePicker控制元件,需要在後臺用程式碼設定minDate和maxDate的值,然後發現需要傳入的引數是一個Long型以毫秒為單位的時間戳格式,自

MySQL 獲得當前日期時間(以及時間的轉換)。

獲取當前日期函式 獲得當前日期+時間(date + time)函式:now()  除了 now() 函式能獲得當前的日期時間外,MySQL 中還有下面的函式: current_timestamp()   current_timestamp localtime

MySQL 獲得當前日期時間(以及時間的轉換)

轉載自:http://blog.sina.com.cn/s/blog_6d39dc6f0100m7eo.html 1.1 獲得當前日期+時間(date + time)函式:now() 除了 now() 函式能獲得當前的日期時間外,MySQL 中還有下面的函式

Python 調用datetime或者time獲取時間的時候以及時間轉換,最好設置一下時區 否則會出現相差8個小時的情況

時間 問題 date import 服務器 times strftime 都是 col 在使用調用datetime或者time獲取時間的時候以及時間轉換,最好設置一下時區, 因為不同機器設置的時區不同,獲取的時間可能就不對,正好我們使用的這兩個服務器使用的都是東八區,所以沒

JavaScript獲取系統時間以及通過ajax獲取伺服器時間

https://blog.csdn.net/qq_26230421/article/details/79064697 很多人會通過下列方式獲取系統時間,並對時間進行處理: //建立全域性變數,也可以是區域性的 var time,year,month,date,hours,minutes,seco

python 有關datetime時間日期 以及時間戳轉換

#coding=utf-8 import time import datetime def yes_time(): #獲取當前時間 now_time = datetime.datetime.now() #當前時間減去一天 獲得昨天當前時間 yes_time = no

python】詳解time模組功能asctime、localtime、mktime、sleep、strptime、strftime、time等函式以及時間的加減運算

在Python中,與時間處理相關的模組有:time、datetime以及calendar。學會計算時間,對程式的調優非常重要,可以在程式中狂打時間戳,來具體判斷程式中哪一塊耗時最多,從而找到程式調優的重心處。這裡先來講一個time模組。 time模組所包含的函式能夠實現以下功能:獲取當前的時間、操作時間和日

***設置 linux 系統時間以及同步到硬件***

lock cloc shanghai 中國 alt 時間同步 系統 date tps 設置 linux 系統時間以及同步到硬件 _________________________________________________________________________

***設定 linux 系統時間以及同步到硬體***

設定 linux 系統時間以及同步到硬體 ______________________________________________________________________________________________ 首先檢視當前系統時間 # date -R Sun, 23 Dec 20

python獲取當前時間時間以及時間的加減

#coding=utf-8 import datetime import time now=datetime.datetime.now() d2 = datetime.datetime.strptime(now.strftime('%Y-%m-%d %H:%M:%S'), '%Y-%m-%

python+pandas+時間、日期以及時間序列處理

先簡單的瞭解下日期和時間資料型別及工具 python標準庫包含於日期(date)和時間(time)資料的資料型別,datetime、time以及calendar模組會被經常用到。 datetime以毫秒形式儲存日期和時間,datetime.timedelta

三種計算Python的程式碼塊或程式的執行時間的方法比較

本文轉自http://blog.csdn.net/chichoxian/article/details/53108365 1.運用場景 在很多的時候我們需要計算我們程式的效能,這個時候我們常常需要統計程式執行的時間。下面我們就來說說怎麼統計程式的執行時間。 2. 實

python對八大常見排序演算法的總結和實現以及時間消耗分析

    昨晚上開始總結了一下常見的幾種排序演算法,由於之前我已經寫了好幾篇排序的演算法的相關博文了現在總結一下的話可以說是很方便的,這裡的目的是為了更加完整詳盡的總結一下這些排序演算法,為了複習基礎的東西,從氣泡排序、直接插入排序、選擇排序、歸併排序、希爾排序、桶排序、堆排

js預設當月日期以及時間比較

//將時間轉化成時間戳 function transdate(time){var date=new Date();date.setFullYear(time.substring(0,4));date.setMonth(time.substring(5,7)-1);date.

排序演算法的Python實現以及時間分析

選擇排序 首先,找到陣列中最小的那個元素,其次,將它和陣列的第一個元素交換位置(如果第一個元素就是最小元素那麼它就和自己交換)。再次,在剩下的元素中找到最小的元素,將它與陣列的第二個元素交換位置。如此往復,直到將整個陣列排序。這種方法叫做選擇排序,因為它在不斷地選擇

java中獲取當前系統時間以及過半小時之後的時間的實現

我就不過多的使用文字描述了,大家直接看程式碼就行: package cn.zj.project; import java.text.SimpleDateFormat; import java.util

關於算法運行時間以及“管道”為什麽引入

cin blog for sed 常數 scanf 結果 運行時 pre 1. 關於算法運行時間以及“管道”為什麽引入。 我以前畢設比較不同譯碼算法的時候,直接用一個clock()來比較不同算法運行速率。現在想起來,這是及其錯誤了! 《算法競賽入門經典》P64 一個

Linux下查看/修改系統時區、時間

英國倫敦 sha 硬件時間 創建 com rec shanghai asi deb 一、查看和修改Linux的時區 1. 查看當前時區 命令 : "date -R" 2. 修改設置Linux服務器時區 方法 A 命令 : "tzselect" 方法 B 僅限於RedHat