python(windows下)如何将a目录下的所有.py文件打开,并批量追加一行文字,如hallo world。

如题,如果a目录只有一个文件比较好办,只要通过制定文件名即可,比如:
a = open('b.py','w')
a.write('hallo world')
a.close
但是,如果a目录下不止一个文件,该如何批量最加内容呢?

import os
for i in os.listdir('目录名'):
f=open(i,'a') # 追加的话这里要用'a',要不就覆盖了
f.write('hello world')
f.close()追问

错误啊。。。
Traceback (most recent call last):
File "", line 2, in
IOError: [Errno 13] Permission denied: 'DLLs'

追答

首先,你要确保你对那些文件有读写的权限。
其次,要么你在那些文件所在文件夹运行这个脚本,要么改成:
import os
for i in os.listdir('目录名'):
p=os.path.join('目录名',i)
f=open(p,'a')
f.write('hello world')
f.close()

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-24
import glob

def doappend(filename, tobeappend='\nhello world\n'):
with open(filename,'a') as handle:
handle.write(tobeappend)

def procdir(dir):
map(doappend, glob.glob(os.path.join(dir,'*.py')))

if __name__ == '__main__':
procdir(r'E:\workspace\testpy')追问

试了没效果啊。。。求解

第2个回答  2011-06-24
用循环啊追问

求教具体步骤哇?

相似回答