今天做了乙個指令碼,其目的大致是讀取一系列壓縮包檔案(.gz),用 winrar 解壓後,對每個檔案進行一定的內容替換,然後另存成我們需要的檔案。
#!/usr/bin/env python
#-*- coding: gbk -*-##
自解壓日誌檔案,逐行替換後生成新檔案
#neil chen, 2006-4-27
#import
sysimport
urllib
import
win32api
#壓縮包所在目錄
src_dir =r
"e:/py/logreplace/src"#
解壓後的目錄
extracted_dir =r
"e:/py/logreplace/extracted"#
處理完的檔案存放目錄
target_dir =r
"e:/py/logreplace/target"#
查詢什麼字串?
替換為什麼?
replace_as_what ='
get '#
winrar 命令的引數格式
cmd_params_template =r
'e -y %s %s
'raw_files
=urllib.os.listdir(src_dir)
#逐一解壓
forf
inraw_files:
fpath
=src_dir +"
//"+f
cmd_params
=cmd_params_template
%(fpath, extracted_dir +"
//")#
print cmd_params
win32api.shellexecute(0, none,
'winrar.exe
', cmd_params,
"c://
", false)
extracted_files
=urllib.os.listdir(extracted_dir)
func
=lambda
(x): x.replace(find_what, replace_as_what)
#替換,生成新檔案
forf2
inextracted_files:
fpath2
=extracted_dir +"
//"+f2
fpath3
=target_dir +"
//"+f2
raw_file
=open(fpath2, 'r
')
lines
=raw_file.readlines()
new_lines
=[func(x)
forx
inlines]
#print len(new_lines)
target_file
=open(fpath3, 'w
')target_file.writelines(new_lines)
raw_file.close()
target_file.close()
利用python批量修改xml檔案
問題描述 對大量xml標籤進行修改floder的名字,以及path路徑。例如把1修改為train,把路徑修改為當前xml所在位置。xml格式如下 如下 usr bin python coding utf 8 import os import os.path from xml.etree.elemen...
原創 Python批量操作檔案,批量合併
最近幾個小夥伴在手動合併一些文字檔案,感覺可以用python批量實現,就有了這段 1 importos2 importre3 import sys4 5def printenter f1 每兩個檔案之間的換行操作 6 f1.write n n n 7for i in range 23 8 f1.wr...
利用python進行檔案操作
作者 wyh草樣 出處 什麼是檔案 檔案是系統儲存區域的乙個命名位置,用來儲存一些資訊,便於後續訪問。能夠在非易失性儲存器中實現持續性儲存,比如在硬碟上。當我們要讀取或者寫入檔案時,我們需要開啟檔案 在操作完畢時,我們需要關閉檔案,以便釋放和檔案操作相關的系統資源,因此,檔案操作的主要包括以下 開啟...