亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 14142 | 回復(fù): 12
打印 上一主題 下一主題

python:將數(shù)據(jù)按固定格式寫入文件 [復(fù)制鏈接]

論壇徽章:
1
子鼠
日期:2014-08-28 13:27:13
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2014-08-25 14:19 |只看該作者 |倒序?yàn)g覽
本帖最后由 chosen86 于 2014-08-25 14:20 編輯

有一個log文件,數(shù)據(jù)格式如下,一共四列,分別是時間戳,源ip,用戶名,目的ip或URL,
1405323925.0 10.6.99.163 test1 10.203.44.5
1405323926.0 10.6.99.163 test1 10.203.44.5
1405323941.0 10.6.99.163 test1 210.75.65.219
1405323942.0 10.6.99.163 test1 210.75.65.219
1405323955.0 10.6.99.163 test1 www.baidu.com
1405323987.0 10.6.99.163 test1 10.203.44.5

現(xiàn)在想把log文件按tmp文件的格式轉(zhuǎn)成tmp文件,tmp文件格式如下:
version, source server IP, date time, status code, source IP, destination IP, protocol, fullurl, port, category number, filetype, bytesent, byteReceived,duration, keyword, user path,這么多列,其中的date time ,source IP ,destination IP,要由log文件中的信息填充,其他log文件中沒有的信息,全部寫入0,求各位指教!python小白,剛學(xué)不久!謝謝

論壇徽章:
33
榮譽(yù)會員
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT運(yùn)維版塊每日發(fā)帖之星
日期:2016-04-17 06:23:27操作系統(tǒng)版塊每日發(fā)帖之星
日期:2016-04-18 06:20:00IT運(yùn)維版塊每日發(fā)帖之星
日期:2016-04-24 06:20:0015-16賽季CBA聯(lián)賽之天津
日期:2016-05-06 12:46:59
2 [報告]
發(fā)表于 2014-08-25 14:27 |只看該作者
這不就是一個字符串格式化 再加一個 print 就 行了么?

論壇徽章:
5
巨蟹座
日期:2014-08-28 18:12:342015年迎新春徽章
日期:2015-03-04 10:01:4415-16賽季CBA聯(lián)賽之江蘇
日期:2016-04-28 09:43:3115-16賽季CBA聯(lián)賽之吉林
日期:2016-06-22 10:34:4315-16賽季CBA聯(lián)賽之山西
日期:2016-08-16 16:29:55
3 [報告]
發(fā)表于 2014-08-25 14:30 |只看該作者
log 文件都固定了....
按照樣式,對應(yīng)添加0 不就好了么。。。

論壇徽章:
1
子鼠
日期:2014-08-28 13:27:13
4 [報告]
發(fā)表于 2014-08-25 14:31 |只看該作者
回復(fù) 2# q1208c
能寫一下代碼嗎,剛開始看python,不知道具體怎么寫,謝謝

   

論壇徽章:
1
子鼠
日期:2014-08-28 13:27:13
5 [報告]
發(fā)表于 2014-08-25 14:36 |只看該作者
回復(fù) 3# Linux_manne
要判斷l(xiāng)og文件中的數(shù)據(jù)對應(yīng)哪一列吧。。。新手不會寫。。

   

論壇徽章:
33
榮譽(yù)會員
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT運(yùn)維版塊每日發(fā)帖之星
日期:2016-04-17 06:23:27操作系統(tǒng)版塊每日發(fā)帖之星
日期:2016-04-18 06:20:00IT運(yùn)維版塊每日發(fā)帖之星
日期:2016-04-24 06:20:0015-16賽季CBA聯(lián)賽之天津
日期:2016-05-06 12:46:59
6 [報告]
發(fā)表于 2014-08-25 14:37 |只看該作者
回復(fù) 4# chosen86

你給的資料太少了, 我寫不出你要的代碼, 只能給個參考代碼.
  1. XXX = "%s,%s,%d\n" % (ver, user, id)
  2. print XXX
復(fù)制代碼

論壇徽章:
5
巨蟹座
日期:2014-08-28 18:12:342015年迎新春徽章
日期:2015-03-04 10:01:4415-16賽季CBA聯(lián)賽之江蘇
日期:2016-04-28 09:43:3115-16賽季CBA聯(lián)賽之吉林
日期:2016-06-22 10:34:4315-16賽季CBA聯(lián)賽之山西
日期:2016-08-16 16:29:55
7
發(fā)表于 2014-08-25 14:41
回復(fù) 5# chosen86


    log 文件你說都已經(jīng)固定了阿... 還要判斷什么

論壇徽章:
1
子鼠
日期:2014-08-28 13:27:13
8 [報告]
發(fā)表于 2014-08-25 14:42 |只看該作者
回復(fù) 6# q1208c
比如有一個test.log文件,一共四列,分別是時間戳,源IP,用戶名,目的IP:
1405323925.0 10.6.99.163 test1 10.203.44.5
1405323926.0 10.6.99.163 test1 10.203.44.5
1405323941.0 10.6.99.163 test1 210.75.65.219
1405323942.0 10.6.99.163 test1 210.75.65.219
1405323955.0 10.6.99.163 test1 www.baidu.com
1405323987.0 10.6.99.163 test1 10.203.44.5

現(xiàn)在想把log文件轉(zhuǎn)換成tmp文件,tmp文件格式:version, source server IP, date time, status code, source IP, destination IP, protocol, fullurl, port, category number, filetype, bytesent, byteReceived,duration, keyword, user path,一共有這么多列,紅色的列需要log文件中的數(shù)據(jù)填充,其他列都填0,這樣可以了嗎?

論壇徽章:
1
子鼠
日期:2014-08-28 13:27:13
9 [報告]
發(fā)表于 2014-08-25 14:44 |只看該作者
回復(fù) 7# Linux_manne
tmp文件是有格式的啊,log文件中的數(shù)據(jù)要對應(yīng)tmp文件格式寫入,log文件中的源IP對應(yīng)tmp文件中的源IP,直接寫好像不行吧

   

論壇徽章:
5
巨蟹座
日期:2014-08-28 18:12:342015年迎新春徽章
日期:2015-03-04 10:01:4415-16賽季CBA聯(lián)賽之江蘇
日期:2016-04-28 09:43:3115-16賽季CBA聯(lián)賽之吉林
日期:2016-06-22 10:34:4315-16賽季CBA聯(lián)賽之山西
日期:2016-08-16 16:29:55
10 [報告]
發(fā)表于 2014-08-25 15:01 |只看該作者
回復(fù) 9# chosen86

  1. read_f = open('log','r')
  2. f = open('tmp.log','w')
  3. for l in read_f:
  4.     ll = l.split(' ')

  5.     f.writelines("0,0,%s,0,%s,%s,0,0,0\n" %(ll[0],ll[1],ll[3].strip('\n')))
  6. f.close()
  7. read_f.close()

復(fù)制代碼
你要這樣?? 囧死了。。。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP