首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python文件操作

python文件操作
EN

Stack Overflow用户
提问于 2010-04-13 09:21:56
回答 1查看 320关注 0票数 2

我有一个目录/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“的第一个条目,并附加上述四行,保留其余文件的原样。

任何帮助都将不胜感激:)预先谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-04-13 09:29:09

未测试

代码语言:javascript
复制
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
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2628370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档