按网上的教程,自己写了一个小程序 有几处有点不一样,记录在这里,为自己留个底子
#coding=gbk
import sys, os, msvcrt
def join(in_filenames, out_filename):
out_file=open(out_filename, 'w+')
err_files=[]
for file in in_filenames:
try:
print file
in_file=open(file, 'r')
out_file.write(in_file.read())
out_file.write('\n\n')
in_file.close()
except IOError:
print 'error joining', file
err_files.append(os.file)
out_file.close()
print 'joining completed. %d file(s) missed' % len(err_files)
print 'output file:', out_filename
if len(err_files)>0:
print 'missed files:'
print '----------------------------'
for file in err_files:
print file
print '----------------------------'
if __name__=='__main__':
print 'scanning...'
in_filenames=[]
file_count=0
for file in os.listdir(os.getcwd()+'\\alltxt'): #进入工作目录下的文件夹
if file.lower().endswith('all.txt'):
os.remove(os.getcwd()+'\\alltxt\\'+file) #不加getcwd()的话,不能删除文件
elif file.lower().endswith('.html'):
in_filenames.append(os.getcwd()+'\\alltxt\\'+file)
file_count+=1
if len(in_filenames)>0:
print '----------------------------'
print '\n'.join(in_filenames)
print '----------------------------'
print '%d partial(s) in toral.'% file_count
print 'joining...'
join(in_filenames, os.getcwd()+'\\alltxt\\all.txt')
else:
print 'nothing found.'
msvcrt.getch()