我有一个目录/tmp/dir,有两种类型的文件名
/tmp/dir/abc-server.log
/tmp/dir/xyz-server.log
。。
。。
和
/tmp/dir/什么-client.log
我需要附加几行(这些行是常量的)到以"client.log“结尾的文件
行1
第2行
第3行
第4行
将这四行附加到以"client.log“结尾的文件
是的,我发现open () "a“选项将提供所需的结果。但是,如何选择正确的文件,即排除server.log和选择client.log?
对于以"server.log“结尾的文件
我需要追加一个关键字后说“后-这个”。"server.log“文件有多个条目"After-this”,我需要找到"After-this“的第一个条目,并附加上述四行,保留其余文件的原样。
任何帮助都将不胜感激:)预先谢谢。
发布于 2010-04-13 01:29:09
未测试
import os,glob,fileinput
root="/tmp"
path=os.path.join(root,"dir")
alines=["line 1\n","line 2\n","line 3\n","line 4\n"]
os.chdir(path)
# for clients
for clientfile in glob.glob("*.client.log"):
data=open(clientfile).readlines()
data.append(alines)
open("temp","w").write(''.join(data))
os.rename("temp",clientfile)
for svrfile in glob.glob("*.server.log"):
f=0
for line in fileinput.FileInput(svrfile,inplace=1):
ind=line.find("After-this")
if ind!=-1 and not f:
line=line[:ind+10] + ''.join(alines) + line[ind+10:]
f=1
print line
https://stackoverflow.com/questions/2628370
复制